这次来做上次未做完的"新增",后续还要做"修改"、"删除",并储存至资料库
新增"新增按钮"function ToDoList() { const [datas, setDatas] = useState([]); useEffect(() => { fetch('/api/todolists') .then(response => response.json()) .then(json => setDatas(json)) .catch(error => console.error(error)); }, []); return ( <> <h1>代办事项</h1> <ToDoListCreate /> { datas.map((data) => ( <ToDoListItem key={data.id} Name={data.name} Checked={data.checked == null ? false : data.checked} onDelete={() => { setDatas(datas.filter((a) => a.Key !== data.Key)) }} ></ToDoListItem> )) } </> );}export default ToDoList;
function ToDoListCreate() { return ( <> <Button variant="primary">新增</Button>{' '} </> )}
Click 新增按钮后 要多出一个空白资料增加 onCreate 属性,这边有React的新增资料写法,就背下来吧
<ToDoListCreate onCreate={() => { setDatas(pre => [...pre, {}]); console.log(datas); }}></ToDoListCreate>
function ToDoListCreate(prop) { return ( <> <Button variant="primary" onClick={prop.onCreate}>新增</Button>{' '} </> )}
画面效果