我创建了一个React类,其状态变量是数组类型。
export default class Demo extends React.Component {
constructor(props){
super(props)
this.state ={
test: []
}
}
但是当我在console.log(this.state.test)
函数中render
时,它会返回object
类型。我认为这是映射时的唯一关键目的。
但是如果我只想为push方法定义数组呢?
还有其他方法可以定义吗?请帮忙。
答案 0 :(得分:1)
请记住,数组是javascipt中的对象。
typeof([]) //outputs object
要以可读形式打印数组,可以使用JSON.stringify
console.log(JSON.stringify(this.state.test, null, 2))
要在状态中设置数组,可以使用setState方法:
this.setState({test: [/* new array */]})
在反应中,我真的很想在我开发的时候用pre标签来显示状态。
将此添加到渲染:
<pre>{JSON.stringify(this.state, null, 2)}</pre>