簡體   English   中英

React-Native setState - 來自同一變量的名稱和值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM