![](/img/trans.png)
[英]How to render and update child elements coming from a parent component in React?
[英]React: How to reload data from parent component and render when child component do update?
我有 1 個父組件、1 個子組件和 1 個子組件。 我正在使用 Jotai state 管理。
父組件:
const viewLog = useSetAtom(setViewStatusLogDialog);
const handleShowStatusLog = (data) => {
viewLog({
open: true,
data, // the data I used in child component
}); };
子組件(LogDetails.js):
export const setViewStatusLogDialog = atom(null, (_get, set, update)
=> { const { open, data} = update;
set(openStatusLogDialogAtom, open);
set(dataAtom, data); });
孩子的子組件(創建表單)
我的問題是:
當我在創建表單(子組件)中保存時,日志詳細信息(子組件)不會獲取最新數據並顯示它,我該怎么做?
不確定 Jotai state 管理,但您可以簡單地將 function 從子組件 (LogDetails.js) 傳遞到子組件的子組件,並在保存時使用新數據調用該 function。
子組件
function ChildComponent() {
const viewLog = useSetAtom(setViewStatusLogDialog);
const setNewLogData = newData => {
const data = [...oldData, newData];
viewLog({open: true, data });
}
return <>
{logData.map(data => <p>{data}</p>}
<ChildChildComp setNewLogDataToParent={setNewLogData} />
</>
}
Child 的子組件
function ChildComponent(props) {
const [data, setData] = useState();
const onSave = () => {
...
props.setNewLogDataToParent(data);
}
return <>
<input type="text" onChange={e => setData(e.target.value) />
<button onClick={onSave}>Save</button>
</>
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.