We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
React.forwardRef
(props, ref) => ReactElement
displayName
defaultProps
propTypes
function RenderFunc(props, ref) { return ( <button ref={ref} className="FancyButton"> {props.children} </button> ) } RenderFunc.defaultProps = { className: 'FancyButton' } const FancyButton = React.forwardRef(RenderFunc);
React就会warning了:
Warning: forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?
并且此时FancyButton.defaultProps为undefined。正确的用法是:
FancyButton.defaultProps
undefined
function RenderFunc(props, ref) { return ( <button ref={ref} className={props.className}> {props.children} </button> ) } const FancyButton = React.forwardRef(RenderFunc); FancyButton.defaultProps = { className: 'FancyButton' }
返回值才是React组件,此时可以才可以添加defaultProps,propTypes。
forwardRef render functions do not support propTypes or defaultProps
render function并不是React组件,其返回值才是React组件。 render function只是转发ref的函数,有两个形参(props, ref),React组件函数只有一个形参(props)。
render function
ref
props
defaultProps, propTypes专属于React组件的,防止误用React做了校验。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
React.forwardRef
一、语法
1.1 实参:是个渲染函数(render function)
displayName
属性,方便调试;defaultProps
,propTypes
属性。React就会warning了:
并且此时
FancyButton.defaultProps
为undefined
。正确的用法是:1.2 返回值:React组件
返回值才是React组件,此时可以才可以添加
defaultProps
,propTypes
。1.3
forwardRef render functions do not support propTypes or defaultProps
render function
并不是React组件,其返回值才是React组件。render function
只是转发ref
的函数,有两个形参(props
,ref
),React组件函数只有一个形参(props
)。defaultProps
,propTypes
专属于React组件的,防止误用React做了校验。二、多子组件的ref?
参考
The text was updated successfully, but these errors were encountered: