从2个数组中的1个构建的React .map

Ali*_*rdy 1 javascript arrays reactjs

所以简而言之,我正在尝试使用一个可以从两个数组中的一个调用的array.map,具体取决于if语句.有点像

class App extends Component {
  state = {
    foo: [
      {number:"0"},
      {number:"1"},
      {number:"2"},
      {number:"3"}
    ],
    bar: [
      {number:"9"},
      {number:"8"},
      {number:"7"},
      {number:"6"}
    ],
    fooBar: "foo"
  }

  test = () => {
    if(this.state.fooBar === "foo") {
      return this.state.foo
    } else {
      return this.state.bar
    }
  }

  onChangeFooBar = () = {
    this.setstate({fooBar: bar})
  }

  render(){
    <Button onClick={this.onChangeFooBar}>Set to bar</Button>
    <p>Here are some lines of text</p>
    {this.test.map(list => <p> {list.text} </p>)}
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,它会抛出一个错误,说它不是一个函数.是什么我不来这里?我几乎可以肯定我的问题在于.test

dfs*_*fsq 5

this.test是一个函数,而不是一个数组.尝试先调用它:

{this.test().map(list => <p> {list.text} </p>)}
Run Code Online (Sandbox Code Playgroud)