Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript this.state.array.map不是函数错误_Javascript_Reactjs_React Native_React Redux_React Native Android - Fatal编程技术网

Javascript this.state.array.map不是函数错误

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);

我已经声明了一个表示TextInput字段的状态对象数组。现在我想在输入的ChangeText上添加值,但一旦我尝试在输入上写入内容,就会出现错误:“this.state.sede_数组不是函数”。我做了数组的console.log,我看到只有输入的第一个字母被添加到value属性,然后错误就发生了。请帮我弄清楚发生了什么事

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_数组前面。

请阅读此