我已經使用AOR文檔中描述的restClient'UPDATE'方法編寫了自定義操作。當動作被觸發時,我從restClient獲得回調中的更新記錄,以便相應地更新組件的狀態。如何將記錄更新從子組件傳播到父組件
但父組件(在我的情況下顯示視圖)呢?我如何更新記錄「自上而下」,以便所有AOR層次結構都能收到新的記錄道具?
這是父視圖:
<Show actions={<ProjectShowActions />} {...props}>
<SimpleShowLayout>
<TextField source="status"/>
</SimpleShowLayout>
</Show>
ProjectShowActions有一子組件ManageProjectButton:
const ProjectShowActions = ({ data }) => (
<CardActions>
<ManageProjectButton record={data}/>
</CardActions>
);
ManageProjectButton觸發上記錄的 「狀態」 字段更新:
const updatedRecord = { ...record, status: 'off' };
restClient(UPDATE, 'projects', { id: record.id, data: updatedRecord });
然而Show組件中的「status」字段不會更新爲「off」,除非用戶刷新頁面或導航離開t他組成。
[redux](http://redux.js.org/)設計模式可能會對您有所幫助。 – HyeonJunOh
謝謝,這個問題是特定於admin-on-rest,它保留了一個內部實例資源池。如果我正確理解文檔,restClient應該更新此實例池,但更新是否自動反映在使用資源的組件的道具中?即還原模式被使用,但還有更多。 –