【发布时间】:2019-08-12 10:17:46
【问题描述】:
我从 API 获取多个 TextInput 并将它们显示在我的屏幕上。那么,如何将用户输入的状态保存到全局对象中。像这样的:
state = {
foundtextfields: []
}
在这里,我将那些获取的 TextInputs 推送到 foundTextFields[] 数组:
var foundTextFields = [];
foundTextFields.push(<TextInput>{keyvalue_to_json.inputFields[i].placeholderText}</TextInput>)
我在此列表中显示文本输入:
return (
<View>
{foundtextfields}
</View>
)
编辑: 我想遍历数组的状态,并从那个 ex 中提取密钥。 “key”(signedbyFullName)如果与下面的 json 正文属性“signedbyFullName”相同,则匹配。
postToBmp = (obje) => {
var userArray = [];
for (i = 0; i < this.myInputFields.myTextFields.length; i++) {
userArray.push(this.myInputFields.myTextFields[i])
console.log("this is the title of al inputFields:", this.myInputFields.myTextFields[i].key)
}
fetch('URL', {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
'Connection': 'Keep-Alive',
},
credentials: 'include',
body: JSON.stringify({
from: 'test1@test.dk',
to: ['<test@hotmail.com>'],
signedByFullName: '',
signedByCPRNumber: '',
otherCompanyName: '',
otherCompanyCVRNumber: ''
})
})
}
【问题讨论】:
-
有什么问题可以显示
TextInputs还是只需要帮助来存储值? -
@MPN7 我只需要帮助来存储这些值。事实上,我尝试用这个来存储值:this.state.foundtextfields.push(...) 并调用视图 {this.state.foundtextfields}。它以这种方式工作,但我使用的是模态,每当我切换它时,文本输入都会重复。我不知道为什么!
-
你在哪里做这个
this.state.foundtextfields.push(…)?如果您在 Modal 中进行操作,则它自身重复是正常的 -
@MPN7 Nono 模态在另一个函数的返回视图中。尽管如此,它为什么这样做是没有意义的。似乎每次我切换 Modal 时,它都会刷新页面,因此我的 fetch() 再次调用数据 + 已经保存在状态中的数据,因此它们显示的太多了。
标签: react-native save state render textinput