值未传递给父组件[重复]
Posted
技术标签:
【中文标题】值未传递给父组件[重复]【英文标题】:Value not passing to Parent component [duplicate] 【发布时间】:2019-01-04 11:48:42 【问题描述】:我正在尝试通过 props 将值从子组件传递给父组件,其中包含一个函数,但它会引发错误 undefined is not a function(evaluating(this.setstate(search: val))
请问我做错了什么
class Child extends React.Component
do()
this.props.value("books");
componentDidMount()
this.do();
render()
return <Text>yams</Text>;
class Parent extends React.Component
constructor(props)
super(props);
this.state =
search: ""
;
handleChange = e =>
this.props.onUpdate(e.target.value);
this.setState( search: e.target.value );
;
con(val)
this.setState( search: val );
render()
return (
<View>
<Child value=this.con />
<Text>this.state.search</Text>" "
</View>
);
【问题讨论】:
【参考方案1】:您需要.bind
您的函数才能使用this
。在您的构造函数中执行此操作或使用箭头函数。
constructor(props)
super(props);
this.state=
search: ''
this.con = this.con.bind(this);
或
con = val =>
this.setState(search: val);
【讨论】:
【参考方案2】:将con
函数定义为粗箭头函数:
con = (val) =>
this.setState(search: val);
这会将this
绑定到父类上下文
【讨论】:
以上是关于值未传递给父组件[重复]的主要内容,如果未能解决你的问题,请参考以下文章