undefined数组:反应

时间:2018-02-06 21:55:49

标签: javascript arrays reactjs

当我尝试运行我的代码时,我只是一个反应的初学者我收到此错误,请告诉我如何以及在何处修复错误。任何帮助将不胜感激。

constructor() {
    super();

    this.state = {
        array: [''],
        url:"",

    };

}


search() {
    var path = this.refs.searchbar.value
    this.setState({url: path})
    var newArray = this.state.array;
    newArray.push(path);
    this.setState(array:newArray);
    newArray.map((i)=>{
        console.log(i);
    });

}

错误

Failed to compile.

./src/searchfield.js
  Line 24:  'array' is not defined  no-undef

1 个答案:

答案 0 :(得分:0)

我想指出您的代码存在一些问题:

  1. 始终将构造函数参数传递给超级构造函数。
  2. 由于您在ggplot2中引用了相同的数组,因此当您将newArray推送到this.state.array时,实际上是在变异url。这应该避免;在推送值并更新状态之前先复制数组。
  3. 设置新阵列状态时出现语法错误(这会导致错误)。
  4. 以下修改了这些内容:

    constructor(props) {
        super(props);
    
        this.state = {
            array: [''],
            url: ""
        };
    }
    
    search() {
        var path = this.refs.searchbar.value
        this.setState({url: path})
        var newArray = this.state.array.splice();
        newArray.push(path);
        this.setState({array: newArray});
        newArray.map((i)=>{
            console.log(i);
        });
    }