Reactjs &引用;特别道具警告“;不引用'ref'或'key`
我无法在plunker中复制它。在这方面,我的设置与我在项目中的设置非常相似,但有以下区别:Reactjs &引用;特别道具警告“;不引用'ref'或'key`,reactjs,redux,Reactjs,Redux,我无法在plunker中复制它。在这方面,我的设置与我在项目中的设置非常相似,但有以下区别:单独的文件&网页-但它在那里工作 在一个文件中,我有: import * as React from 'react'; const Component = function (props) { return ( <div>MyComponent has {props.value} bapples</div> ) }; Component.pro
单独的文件
&网页
-但它在那里工作
在一个文件中,我有:
import * as React from 'react';
const Component = function (props) {
return (
<div>MyComponent has {props.value} bapples</div>
)
};
Component.propTypes = {
value: React.PropTypes.number
};
// export default A;
const HigherOrderComponent = function(props) {
return (
<Component {...props} />
)
};
export default HigherOrderComponent;
我收到:
元素:ref
不是道具。试图访问它将导致返回未定义的。如果需要访问子组件中的相同值,则应将其作为不同的道具传递
元素:键
不是道具。试图访问它将导致返回未定义的。如果需要访问子组件中的相同值,则应将其作为不同的道具传递
但我根本没有使用ref
或key
。。。我在谷歌上搜索过,但只找到了不相关的问题。以下是我提出的解决方案(可能需要根据您的上下文稍微修改):
真是有趣的解决办法。:-)道具
没有键
也没有ref
。
import HigherOrderComponent from './HigherOrderComponent';
export default ReactRedux.connect()(HigherOrderComponent);
let props = Object.assign({},this.props)
delete props.key
delete props.ref
return <div> { React.cloneElement(props.children, props) } </div>
const HigherOrderComponent = function(incomingProps) {
let props = Object.assign({}, incomingProps)
delete props.key
delete props.ref
return (
<Component {...props} />
)
};