鍍金池/ 問答/HTML/ react在列表新增或者刪除某一行之后刷新列表應(yīng)該如何實(shí)現(xiàn)?

react在列表新增或者刪除某一行之后刷新列表應(yīng)該如何實(shí)現(xiàn)?

剛學(xué)react,在開發(fā)用戶列表時遇到了一個問題。用的是redux做管理
fetch是獲取全部用戶的方法,add是新增用戶的方法
在新增完之后想刷新列表 我的思路是在 componentWillReceiveProps(nextProps){}中寫fetch,但是這樣會造成無限循環(huán)加載列表,
這應(yīng)該是一個很常見的情景吧,不知道各位是怎么實(shí)現(xiàn)的?

回答
編輯回答
陪她鬧

不要在組件的生命周期中調(diào)用ajax
既然使用的rudex,你可以在action中調(diào)用接口數(shù)據(jù)。
刪除一行刪除列表一般的做法是在調(diào)用delete方法返回成功后,再調(diào)用一次fetch list 就可以了。
action中調(diào)完后,dispatch reducer就可以了。

2017年4月3日 04:32
編輯回答
陌璃

列表數(shù)據(jù)初始化在componentWillMount里做,調(diào)用一次fetch獲得列表數(shù)據(jù),然后通過setState或者傳props傳到你的列表組件里,然后組件渲染
之后調(diào)用add后再調(diào)用一次fetch,獲得新的數(shù)據(jù),再傳到組件里,觸發(fā)組件更新重新渲染
可以去多了解一下React組件生命周期

2018年4月23日 08:59
編輯回答
風(fēng)畔

在redux中add之后觸發(fā)fetch的action, 不要寫在生命周期函數(shù)中

2018年3月7日 03:38
編輯回答
終相守

新增完之后fetch數(shù)據(jù)直接setState就可以吧?

2018年3月4日 18:31
編輯回答
爛人

用 redux 的話,不應(yīng)該在組件生命周期函數(shù)中 fetch 。
我的理解,你這里應(yīng)該有 2 個 action :ADD_USERRETRIEVE_USER
因此,只需要在 ADD_USER 動作完成的回調(diào)函數(shù)里觸發(fā) RETRIEVE_USER 即可。
當(dāng)然,別忘了在組件的 componentWillMount 中觸發(fā)一次 RETRIEVE_USER ,以完成組件初始化。

2017年5月10日 10:33