我怎样才能通过这种状态?

时间:2019-09-12 20:54:55

标签: reactjs react-native

如何将此状态传递给父组件?

我尝试使用回调,但是由于输出在Text字段中,因此似乎无法正常工作。当在文本字段中更改文本时,onChangeText无法识别吗?我也尝试在Textinput上使用回调,但这似乎也不起作用。也许我将状态设置在错误的位置。

这可能吗?

Child.js

render() {
    return (
      <View style={styles.screen2}>
         <Text>Points - {this.state.dlScoreInput}</Text>
      <View>

Parent.js

{{1}}

1 个答案:

答案 0 :(得分:0)

第一个问题是您忘记将道具dlScoreInput传递到<Deadlift2/>中。 valueprops.dlScoreInput,因此添加

<Deadlift2
   textChange={dlScoreInput => this.setState({ dlScoreInput })}
   dlScoreInput={this.state.dlScoreInput}
/>

另一个是您没有将更改传播给父级。您可以采用完全相同的逻辑,将信息从<Deadlift2 />传递到<Child />

但是到那时,您正在传递2级数据。经过一定时间后,最好使用某种类型的全局状态管理系统(例如redux)。但是,如果您坚持要使用本地状态,那么我可以向您展示如何编写。