【发布时间】:2019-04-12 01:34:38
【问题描述】:
是否可以只向 SetState 输入一个包含名称和值的参数。请参见下面的示例。括号有问题吗?
这在同时改变很多状态时会很方便。也就是说,首先将它们准备在一个长字符串中,并且只执行一次 setState。谢谢!
this.setState({myState: "help"}) // this works of course
whatstate='myState'
this.setState({[whatstate]: "me"}) // this too
whatstate2='myState: "please"'
this.setState(whatstate2) // but how to make this work?
【问题讨论】:
-
whatstate2 必须是一个对象,您不能只传递原始 int 或类似的东西
-
正如 Ortho 所说,它应该是一个对象。将 whatstate2 放在大括号内。
this.setState({whatstate2}) -
不幸的是,this.setState({ whatstate2 }) 不起作用。此外,如果我键入 this.setState({ 'myState: "fdfdf"' }),Visual Studio Code 会用红色在右大括号下划线 - 表明它不太正确。我明白为什么大括号需要在那里,但也许还有其他问题。
标签: javascript react-native setstate