首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >警告Unkown Prop

警告Unkown Prop
EN

Stack Overflow用户
提问于 2016-09-12 06:42:42
回答 2查看 80关注 0票数 0

使用React.createClass({}),我可以很容易地将道具传递给子组件。如何用React.Component{}来实现

代码语言:javascript
复制
export default class Parent extends React.Component {
  // imported Child and in the render:
  render(){
    return <Child name={this.state.foo} />
  }
}

export default class Child extends React.Component {
}

警告不为人知的道具名称

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-12 06:59:31

传递支柱的方式是相同的,但是您需要检查是否正确地定义状态变量。请看下面的实现。以上错误可能有一套原因,即;

您使用的是{...this.props}还是cloneElement(元素,this.props)?您的组件正在将自己的道具直接传输到子元素(例如。https://facebook.github.io/react/docs/transferring-props.html)。在将道具转移到子组件时,应确保不意外地转发原打算由父组件解释的道具。 您正在本机DOM节点上使用一个非标准的DOM属性,可能是用来表示自定义数据。如果试图将自定义数据附加到标准DOM元素,请考虑使用MDN上描述的自定义数据属性。 React尚未识别您指定的属性。这很可能会在未来版本的React中得到解决。但是,React当前删除了所有未知的属性,因此在您的React应用程序中指定它们不会导致它们被呈现。

还要检查您正在使用的react的哪个版本,以及您是否正确地设置了react以使用ES6语法。

PS: --我使用的是0.14.8版本的代码片段

代码语言:javascript
复制
 class Parent extends React.Component {
  // imported Parent and in the render:
  constructor(){
    super();
    this.state = {
      foo: 'Hello World'
    }
  }
  render(){
    return <Child name={this.state.foo} />
  }
}

 class Child extends React.Component {
  
  render() {
    return (
      <div>{this.props.name}</div>
    )
  }
}


ReactDOM.render(<Parent />, document.getElementById('container'));
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.8/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.8/react-dom.min.js"></script>
<div id="container"></div>

票数 1
EN

Stack Overflow用户

发布于 2016-09-12 06:50:09

以下是对警告的完整解释:https://facebook.github.io/react/warnings/unknown-prop.html

基本上,您似乎要将name支柱传递给不支持name属性的HTML元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39444633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档