如何在react-native中重新初始化(状态)数组变量?

时间:2019-09-05 06:32:09

标签: react-native

我正在进行API调用。

我得到的回应是:

var data =
[
    {a: 'a', b: 'b'}
]

我想将状态变量的值设置为data

但是它不起作用。将错误表示为=>

Objects are not valid as a React child
Ex: -
state = {
stateVariable: []
}
apiCall.then((data) => {
  this.setState({ stateVariable: data  })
})

1 个答案:

答案 0 :(得分:0)

Objects are not valid as a React child

在React中,您不能直接渲染对象。

我觉得您正在尝试做类似的事情

<Text>{this.state.stateVariable}</Text>

因为其中的值是一个数组,所以它不起作用。

要解决此问题,您可以将其映射:

{this.state.stateVariable.map(data => <Text>{data.a} {data.b}</Text>)}

第二,您可能已经在对其进行映射或对其进行循环,但是仍然出现错误。这是因为,如果像上面的地图中那样仅渲染data,则它是一个对象{a:'a', b:'b'},并且在react中是不允许的。

因此,您必须将其设置为{data.a}{data.b}