譯 在大型應用中使用 Redux 的五個技巧

2021-09-22 23:44:34 字數 2470 閱讀 9960

本文講的是[譯] 在大型應用中使用 redux 的五個技巧,

譯文出自:掘金翻譯計畫

譯者:loveky

校對者:stormrabbit

第二點: 把資料物件,對資料物件的修改以及其它 ui 狀態區分開

第三點: 在單頁應用的不同頁面間共享資料,以及何時不該這麼做

第四點: 在狀態中的不同節點復用通用的 reducer 函式

第五點: 連線 react 元件與 redux 狀態的最佳實踐

,

...}}

const getusers = () =>
const getselectedusers = () =>
,

...}}

,

...}}

,

...},

"editingusersbyid":

}}

,

...},

"domainspage": ,

...}}

每個頁面是否都需要這些資料的副本?

這些資料的改動有多頻繁?

const initialloadingstate = ;
const loadingreducer = (state = initialloadingstate, action) =>  = action;

if (type === set_loading) , state, loading`]: payload.loading,

});} else

}

const setloading = (scope, loading) => ,

};}// 呼叫示例

store.dispatch(setloading('users', true));

const initialpaginationstate = ;

const paginationreducerfor = (prefix) => = action;

switch (type) = payload;

return object.assign({}, state, );

default:

return state;}};

return paginationreducer;

};// 使用示例

const usersreducer = combinereducers();

const domainsreducer = combinereducers();

const setpaginationfor = (prefix) =>  = response;

return ,

};};

return

setpagination;

};// 使用示例

const setuserspagination = setpaginationfor('users_');

const setdomainspagination = setpaginationfor('domains_');

庫。這裡就是將狀態中的資料對映到你元件的 props 的地方。

const connectedcomponent = connect(

(state) => ;

}),mapdispatchtoprops // 另乙個 connect 函式

)(userscomponent);

const connectedcomponent = connect(

mapstatetoprops,

(dispatch) => ;

return

bindactioncreators(actions, dispatch);

})(userscomponent);

reselect 乙個用於建立選擇器的庫

normalizr 乙個用於根據模式規範 json 資料的庫,有助於在索引中儲存資料

redux-thunk 乙個用於處理 redux 中非同步 action 的中介軟體

redux-saga 另乙個利用 es2016 生成器處理非同步 action 的中介軟體

原文發布時間為:2023年8月01日

譯 在 Android 應用中使用向量資源

譯文出自 掘金翻譯計畫 譯者 yueyong 校對者 rickon,tuaran 從 lollipop 開始,你可以在任何需要使用其他可繪製型別的地方使用vectordrawables 使用標準的 drawable foo語法引用它們 但是我建議始終使用 androidx 實現。這會顯著增加其使用平...

譯 在 Android 應用中使用向量資源

譯文出自 掘金翻譯計畫 譯者 yueyong 校對者 rickon,tuaran 從 lollipop 開始,你可以在任何需要使用其他可繪製型別的地方使用vectordrawables 使用標準的 drawable foo語法引用它們 但是我建議始終使用 androidx 實現。這會顯著增加其使用平...

譯 在C 中使用LINQ To SQL

譯文出處 今天在這個話題中,我給大家分享乙個在c 程式設計中非常有趣和十分有用的特性。說明 linq language integrated query 整合查詢語言 linq是微軟在.net framework 3.5中信增加的乙個特性。它是用來查詢資料庫和對資料庫查詢的本地集合帶來安全性。它非常...