Javascript 警告:React无法识别DOM元素上的X道具
当我试着传递道具的时候,我得到了这个错误。非常基本的东西Javascript 警告:React无法识别DOM元素上的X道具,javascript,reactjs,typescript,ecmascript-6,Javascript,Reactjs,Typescript,Ecmascript 6,当我试着传递道具的时候,我得到了这个错误。非常基本的东西 界面道具扩展忽略,脉轮道具{ handleMoveAll:()=>无效 } export const MyWrapper:FC=(props):JSX.Element=>( ) 然后我在警告来自的父组件上调用组件MyWrapper export const ParentComp:FC=():JSX.Element=>{ const myFunction=()=>console.log('Hit it') 返回( myFunction()
界面道具扩展忽略,脉轮道具{
handleMoveAll:()=>无效
}
export const MyWrapper:FC=(props):JSX.Element=>(
)
然后我在警告来自的父组件上调用组件MyWrapper
export const ParentComp:FC=():JSX.Element=>{
const myFunction=()=>console.log('Hit it')
返回(
myFunction()}>
子组件
)
}
警告:React无法识别DOM元素上的handleMoveAll
prop。如果您有意将其作为自定义属性显示在DOM中,请将其拼写为小写handlemoveall
。如果意外地从父组件传递了它,请将其从DOM元素中删除
如果我删除这个handleMoveAll={()=>myFunction()}
警告就会消失
有什么想法吗?问题在于MyWrapper
中的
;这会将handleMoveAll
道具添加到div中。您可以执行以下操作:
export const MyWrapper: FC<Props> = (props): JSX.Element => (
const {handleMoveAll, ...rest} = props;
<div {...rest}>
<IconBox label="Move All" onClick={handleMoveAll}>
<MyIcon />
</IconBox>
</div>
)
导出常量MyWrapper:FC=(props):JSX.Element=>(
const{handleMoveAll,…rest}=道具;
)
从传入的道具中拉出
handleMoveAll
,同时仍将任何其他道具传递到div中。为什么使用数组而不是const{handleMoveAll,…rest}=props
?@因为我打字速度比我想象的要快,所以做出反应:P编辑。
const MyWrapper: FC<Props> = ({ handleMoveAll, ...restProps }): JSX.Element => (
<div {...restProps}>
<IconBox label="Move All" onClick={handleMoveAll}>
...
...
...
)