Warning: forwardRef render functions do not support propTypes or defaultProps. Did you accidentally

问题:

Warning: forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?

分析

原因:forwardRef会让stateless组件的defaultProps和propTypes属性失效。

import React, {
    
    forwardRef} from 'react';

function A(props, ref) {
    
    
	return null;
}

A.defaultPorps = {
    
    

}
export default forwardRef(A);

解决:

import React, {
    
    forwardRef} from 'react';

const A = forwardRef((props, ref) => {
    
    
	return null;
})

A.displayName = 'A';
A.defaultPorps = {
    
    

}

export default A;

issues

https://github.com/facebook/react/issues/16653
https://stackoverflow.com/questions/59716140/using-forwardref-with-proptypes-and-eslint

猜你喜欢

转载自blog.csdn.net/u010682774/article/details/112577035
今日推荐