我正在进行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 }) })
答案 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}