this.props是否仅在将要呈现的组件中定义?

时间:2018-06-05 13:30:58

标签: reactjs react-native

我试图将道具从父组件传递到子组件。 虽然我在调用this.props内部渲染它的工作正常但是当我在函数内部调用它时将无法渲染(帮助我进行计算),控制台值是“未定义”。 请解释一下这个问题吗?

2 个答案:

答案 0 :(得分:3)

该类的函数成员是?换句话说,函数是否已绑定到类?

如果函数不知道它属于哪个类,则值将是未定义的。将它绑定到一个班级,然后你就会得到你的价值。

例如 -

未绑定的功能将如下所示

abc() {
  console.log(this); //this will be undefined here
}

绑定功能将如下所示

constructor() {
  this.abc = this.abc.bind(this);
}
abc() {
  console.log(this); //this will have a value
}

如果您想跳过写bind,可以按照新语法

abc = () => {
  console.log(this); //this will have a value
}

最后,您将调用您的函数this.abc()

答案 1 :(得分:1)

请在构造函数中或使用.bind

将函数绑定到类