[英]React-Native setState - both name and value from the same variable
是否可以只向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?
// if you like to work only with strings
var whatstate = {};
whatstate['myState1'] = 'help';
whatstate['myState2'] = 'me';
whatstate['myState3'] = 'please';
// ^ this will produce an object equivalent to this
//whatstate = {
// myState1: 'help',
// myState2: 'me',
// myState3: 'please'
//}
// which you can use it to 'setState'
this.setState(whatstate);
您可以调用this.setState({ whatstate2 })
来实现相同的效果。 这是ES6的属性值简写。
参考: https : //ariya.io/2013/02/es6-and-object-literal-property-value-shorthand
如果你想一次更新多个状态,你也可以这样做。
this.setState({
myState1 : newState1,
myState2 : newState2
});
如果变量名称与前面提到的状态名称相同,则可以这样做。
this.setState({ myState1, myState2 });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.