我是反应新手的新手。我想问
之间有什么区别state = {
}
和
constructor(props){
super(props)
this.state = ''
}
我将数据从父类发送给子类,例如<child value={} />
但是我无法将数据从子女发送给父母?我试图这样发送:
<Text onPress={() => this.props.navigation.navigate('Parent',{deneme: 'abc'})} ></Text>
在父级中,我有
state = {
deneme : this.props.navigation.params.deneme
}
,但它给了我一个错误
对于您的第一个问题,类字段提案只是句法糖(语法编写/读取更好),但是编译到同一件事上,因此两个版本本质上都是等效的。我会坚持更容易写的:
state = {
}
对于您的第二个问题,要"将数据"发送数据"到您的父组件的最常见方法是让您的父部件也将方法传递给一个方法,作为一个prop父组件将"数据"存储在父组件中。
例如:
因此,在您的父组件中,您应该初始化该状态属性,该属性将容纳您希望孩子组件发送的"数据":
state = {
myData: '' // default it to string, array, object, whatever your
// eventual data type would be
}
然后设置了一个方法并将其传递给您的子组件,该组件可以设置该状态属性的状态:
// parent include this method
handleSetData = (myData) => {
this.setState({ myData: myData });
}
// inside render and your child component pass the method to it
<ChildComponent setData = {this.handleSetData} />
// Child Component, inside your button
<Text onPress={('Some data') => this.props.setData('Some data'})}></Text>
这只是一个示例,但是您可以将动态参数传递到Press上的该文本,并且可以在您的父组件中设置状态,因此您可以在父组件中使用该数据。
<</p> <。