React Native - 在状态内的对象上设置状态
Posted
技术标签:
【中文标题】React Native - 在状态内的对象上设置状态【英文标题】:React Native - setState on object inside state 【发布时间】:2017-10-22 09:33:20 【问题描述】:我在模式屏幕上有两个文本输入,当我填充第一个输入时 - 状态已更新,当我跳转到第二个输入并开始输入时 - 第一个输入的值为空。
代码如下:
constructor()
super()
this.state=
Modal:
EduModalVisible: false,
ProTitleModalVisible: false,
PsychoModalityModalVisible: false,
,
User:
NameOfFaculty: '',
YearOfGraduate: '',
文本输入如下所示:
<TextField label='Faculty' highlightColor='#76a6ef'
value=this.state.User.NameOfFaculty onChangeText=(faculty) => this.setState(User: NameOfFaculty: faculty ) />
<TextField label='Year Of Graduation' highlightColor='#76a6ef'
value=this.state.User.YearOfGraduate onChangeText=(year) => this.setState(User: YearOfGraduate: year ) />
我认为问题在于更新状态内对象的状态,但我不确定如何解决。
【问题讨论】:
【参考方案1】:这是一个例子:https://snack.expo.io/rkeQ7cxWb
您需要为现有对象分配属性以保留其内容:
onChangeText=(faculty) =>
const User = Object.assign(, this.state.User, NameOfFaculty: faculty );
this.setState( User );
【讨论】:
以上是关于React Native - 在状态内的对象上设置状态的主要内容,如果未能解决你的问题,请参考以下文章
React Native - 如何解析 json 数据并将其设置在状态对象中
如何映射一组对象,删除一个并将我的状态设置为 react-native 中的新数组?
在 React Native 的 iPhone 设置上手动禁用后如何检测 PushNotificationIOS 状态?