私はRedux、React、ES6を学んでいます。私はすでにJSで開発しましたが、この新しいES6の世界は、矢印関数などを宣言するために、 "=>"のような新しいことがたくさんあります。しかし、この新しいRedux研究では、コードの途中で...
に直面しています。「...」とはJavascript(ES6)の意味ですか?
ベロー私は例があります。
import { combineReducers, createStore } from 'redux'
const userReducer = (state={}, action) => {
switch(action.type) {
case 'CHANGE_NAME':
state = {...state, name: action.payload};
break;
case 'CHANGE_AGE':
state = {...state, age: action.payload};
break;
}
return state;
};
const tweetsReducer = (state=[], action) => {
return state;
};
const reducers = combineReducers ({
user: userReducer,
tweetsReducer: tweetsReducer,
});
const store = createStore(reducers);
store.subscribe(() =>
console.log('The chage was: ', store.getState())
);
store.dispatch({type: 'CHANGE_NAME', payload: 'Will'})
store.dispatch({type: 'CHANGE_AGE', payload: 21});
私は
state.name = action.payload;
と
state.age = action.payload;
で
state = {...state, name: action.payload};
と
state = {...state, age: action.payload};
を交換した場合、それは動作しますが、年齢が挿入されましたオブジェクト名と最初に名前が挿入され、年齢が挿入された後。
どうしてですか?今後のコードで...
を使用するにはどうすればよいですか?それはまさに州に関係していますか?
'...'はスプレッド演算子です。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator – hackerrdave
ありがとうございます!私が尋ねたときに私は見つけられませんでした。だから、それは本当に重複しています。しかし、あなたの答えに感謝します。 – Aipi
@hackerrdave:['... 'は演算子ではありません](https://stackoverflow.com/questions/37151966/what-is-spreadelement-in-ecmascript-documentation-is-it-the-same-as-普及/ 37152508#37152508)。 –