2 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊
首先,我認(rèn)為你不需要在這里使用任何內(nèi)部狀態(tài)。如果您知道多個(gè)組件必須共享相同的變量,并且它們不是分層的,則只需使用存儲(chǔ)并使用應(yīng)用程序狀態(tài)即可。
其次,我認(rèn)為在你的化簡器中,你可能會(huì)指向相同的初始狀態(tài)并直接改變它(違反redux規(guī)則)。簡而言之,由于淺復(fù)制,您的狀態(tài)可能指向相同的舊初始狀態(tài)對(duì)象,因此您的 react 組件未檢測到更改。
在返回新狀態(tài)之前,請(qǐng)嘗試在 redux reducer 中創(chuàng)建初始狀態(tài)的深層副本(而不是淺副本)。這些鏈接討論了這些概念:
最后,初始狀態(tài)下的好友不應(yīng)該是空數(shù)組而不是字符串嗎?

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
您似乎正在使用函數(shù)來返回組件:
// main.js
const WaitingRoomPage = () => {
return <WaitingRoom />;
};
...
<Route path='/waitingroom' component={WaitingRoomPage} />
我不認(rèn)為你應(yīng)該這樣做,因?yàn)槊看沃匦落秩綧ain都會(huì)導(dǎo)致你繼續(xù)重新安裝(從而重新初始化)。你的不是一個(gè)功能組件,即使它是,你仍然應(yīng)該使用更簡單的方式來聲明帶有屬性的:WaitingRoomWaitingRoomRoutecomponent
<Route path='/waitingroom' component={WaitingRoom} />
添加回答
舉報(bào)