簡體   English   中英

我可以在 Redux 商店操作中使用 OOP

[英]Can I use OOP in Redux Store actions

我正在使用 React JS 和 Redux JS。 我知道 Redux 動作函數應該是一個純 function

但是,我正在閱讀 Object 面向對象編程 (OOP) 及其好處。

那么,我可以在 Redux 動作(類)中使用 OOP 而不是純函數嗎?

例如:如果我有一個名為“articles”的 state,它可能會執行以下操作:

function getArtcles() { ... }
function addArtcle({data}) { ... }
function deleteArtcle(id) { ... }
......

那么,我可以將其替換為:

 class Artice {
    getArtcles() {...}
    addArtcle() {...}
    deleteArtcle() {...}
}

??

我假設這些功能是動作創造者? 也就是說,他們返回一個帶有type屬性的 object,可能還有一些額外的數據?

function deleteArticle(id) {
  return { type: 'deleteArticles', id };
}

或者他們可能會創建 thunk:

function deleteArticle(id) {
  return async function (dispatch) {
    dispatch({ type: 'deleteStarting' });
    // do something asynchronous
    dispatch({ type: 'deleteSuccessful' });
  }
}

如果是這樣,是的,您可以根據需要將它們放在 class 中。 我看不出將這些放在 class 中有什么好處,但 redux 甚至沒有辦法知道你是如何創建這些動作的,所以它不會介意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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