鉴于以下两个组件,我希望 EntryList 组件在单击 EntryForm 中的按钮后 handleEnttryDelete 中的状态发生变化后重新呈现。当前状态发生变化,但 UI 并未自行更新:
import React, { useState } from "react";
import Button from "@material-ui/core/Button";
import { render } from "@testing-library/react";
const EntryList = (props) => {
const [entryList, setEntryList] = useState(props.data);
const handleEntryDelete = (entry) => {
const newState = entryList.filter(function (el) {
return el._id != entry._id;
});
setEntryList(() => newState);
};
return (
<div>
{entryList.map((entry) => {
return (
<EntryForm entry={entry} handleEntryDelete={handleEntryDelete} />
);
})}
</div>
);
};
const EntryForm = (props) => {
const [entry, setEntry] = useState(props.entry);
return (
<div>
<Button onClick={() => props.handleEntryDelete(entry)}>
{entry._id}
</Button>
</div>
);
};
export default EntryList;
哆啦的时光机
相关分类