は、このコードを犠牲にして反応し、反応しました。es6:スプレッド演算子を使用したresultの値は?
私の質問は、普及したオフェレーターが使用されたときの最終的な結果です。私がそれを正しく理解すれば、基本的に反復可能または配列を個々の引数に変えます。
ですから、出力は...演算子で取得したすべてのフィールドを使用して別のJSONオブジェクトを作成しているだけです。
const INITIAL_STATE = { postsList: {posts: [], error:null, loading: false},
newPost:{post:null, error: null, loading: false},
activePost:{post:null, error:null, loading: false},
deletedPost: {post: null, error:null, loading: false},
};
export default function(state = INITIAL_STATE, action) {
let error;
switch(action.type) {
case FETCH_POSTS:// start fetching posts and set loading = true
return { ...state, postsList: {posts:[], error: null, loading: true} };
ので、これはFETCH_POSTSの結果である:
{
postsList: {posts: [], error:null, loading: false},
newPost:{post:null, error: null, loading: false},
activePost:{post:null, error:null, loading: false},
deletedPost: {post: null, error:null, loading: false, },
ので、基本的にはpostsList
キーが存在していたことを知っているし、それを上書きするのに十分スマートでしたか?
react.jsアプリの状態の有無を確認することに頼るのは、アンチパターンですか?キー値がnullの場合は「このキーが存在するかどうか」を意味します。
なぜ、配列キーを使用してキーの値を変更しますか? INITIAL_STATE ['postsList'] = {... postsObject}
または新しい演算子を使用していますか?
FETCH_POSTSの結果は '{ postsListあろう: 、activePost偽}:{記事:[]、エラー:ヌル、ローディング:真}、 newPost:{ポスト:ヌル、エラー:ヌル、ローディング{戻り値に設定されているので、deletedPost:{投稿:null、エラー:null、読み込み:false、}、 ' '...'は基本的にObject.assign()を置き換えますhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign – erichardson30
@rrosttはReduxの状態を*必須にする必要があります不変であるとみなされる。ここでそれを行う方法については、いくつかの良い文書があります:http://redux.js.org/docs/recipes/reducers/ImmutableUpdatePatterns.html – riscarrott