javascript - 从无状态子组件更改父组件的状态

标签 javascript reactjs react-native state

我想从无状态组件OverlayAddAddress更改我的组件PaymentScreen的状态

OverlayAddAddress里面我有这个:

 isOverlayVisible,
 onBackdropPress,
 address,
 city,
 zipCode,
 phoneNumber,
}) => {
 return (
   <Overlay
     overlayBackgroundColor="#f2f2f2"
     isVisible={isOverlayVisible}
     onBackdropPress={onBackdropPress}>
     <TextInput
       style={styles.input}
       placeholder="Adresse"
       onChangeText={address => address}
       value={address}
     />
     <TextInput
       style={styles.input}
       placeholder="Ville"
       onChangeText={city => city}
       value={city}
     />
     <TextInput
       style={styles.input}
       placeholder="Code postal"
       onChangeText={zipCode => zipCode}
       value={zipCode}
     />
     <TextInput
       style={styles.input}
       keyboardType="decimal-pad"
       placeholder="Numéro de téléphone"
       onChangeText={phoneNumber => phoneNumber}
       value={phoneNumber}
     />
     <TouchableOpacity style={styles.buttonSave}>
       <Text style={styles.buttonSaveText}>Enregister</Text>
     </TouchableOpacity>
   </Overlay>
 )
}

在父组件中我有这个:

<OverlayAddAddress
          isOverlayVisible={this.state.overlayAddAdress}
          onBackdropPress={() => this.setState({overlayAddAdress: false})}
          address={this.state.address}
          city={this.state.city}
          zipCode={this.state.zipCode}
          phoneNumber={this.state.phoneNumber}
  />

我的问题是,当想要从 OverlayAddAddress 内的 textInput 更改状态时,我可以将 Prop 从父级传输到子级,但我不知道如何取回更新父级中状态的值。

最佳答案

在 PaymentScreen 中,创建一个更改所需字段的函数。例如:

const changeText = (text) => { setText(text) }

然后,将此函数作为 props 传递给 OverlayAddAddress。然后,在 OverlayAddAddress 组件内使用它来更改父值。例如:

<TextInput
   style={styles.input}
   keyboardType="decimal-pad"
   placeholder="Numéro de téléphone"
   onChangeText={phoneNumber => setText(phoneNumber)}
   value={phoneNumber}
 />

关于javascript - 从无状态子组件更改父组件的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60725487/

相关文章:

javascript - React Prop 的可重用性

reactjs - JSX.Element' 不可分配给 React 功能 HOC 中的类型 'ReactNode'

ios - 如何永久消除 react native 应用程序中的错误显示

javascript - react native : Native module AppStateModule tried to override AppStateModule for module name AppState

javascript - DOM "style"属性和实际 CSS 样式之间的关系

javascript - 克隆 - 对多个元素使用相同的 javascript 和 css

javascript - Redux Saga EventChannel : TypeError: (0, _reduxSaga.take) 不是一个函数

json - React JS - 如何将 json 数据绑定(bind)到下拉列表

react-native - 程序类型已存在 : io. invertase.firebase.BuildConfig

javascript - 如何访问我当前正在使用的 'this' 内的元素?