Javascript this.state.array.map不是函数错误
我已经声明了一个表示TextInput字段的状态对象数组。现在我想在输入的ChangeText上添加值,但一旦我尝试在输入上写入内容,就会出现错误:“this.state.sede_数组不是函数”。我做了数组的console.log,我看到只有输入的第一个字母被添加到value属性,然后错误就发生了。请帮我弄清楚发生了什么事Javascript this.state.array.map不是函数错误,javascript,reactjs,react-native,react-redux,react-native-android,Javascript,Reactjs,React Native,React Redux,React Native Android,我已经声明了一个表示TextInput字段的状态对象数组。现在我想在输入的ChangeText上添加值,但一旦我尝试在输入上写入内容,就会出现错误:“this.state.sede_数组不是函数”。我做了数组的console.log,我看到只有输入的第一个字母被添加到value属性,然后错误就发生了。请帮我弄清楚发生了什么事 export default class Form extends Component { constructor(props) { super(props);
export default class Form extends Component {
constructor(props) {
super(props);
this.state = {
sede_array:[
{id:1, value:null},
{id:2, value:null},
{id:3, value:null},
]
};
}
render() {
console.log(this.state.sede_array)
let sede_list= this.state.sede_array.map((val, key) => {
return(
<View key={key}>
<Text style={styles.titolo}>Indirizzo Sede
{this.state.sede_array[key].id}</Text>
<TextInput style={styles.input}
onChangeText={value => {
sede_array[key].value = value;
this.setState({sede_array})
}}
/>
</View>
)});
我有一种感觉,你正在破坏你的阵型。在onChangeText事件处理程序中,您正在设置状态;但是你知道它的价值是什么吗?使用sede_数组时,不使用this.state作为前缀。我假设sede_数组变量在全局范围内不存在,因此在调用setState时,它会将'undefined'赋值给this.state.sede_数组。由于setState将触发另一个渲染,因此在该渲染周期中它将崩溃,因为this.state.sede_数组未定义。您可以通过添加this.state来修复此问题。在onChangeText内的sede_数组前面。请阅读此