《簡約的軟體開發思維:用 Functional Programming 重構程式》CH14
目錄
Ch14. 處理巢狀資料的函數式工具
章節重點
const [form, setForm] = useState({
name: "",
email: "",
age: "",
});
const setVal = (key, value) => {
setForm({
...form,
[key]: value,
});
};
<input
type="text"
value={form.name}
onChange={(e) => setVal("name", e.target.value)}
/>;
const update = (key, value) => {
return (obj) => ({
...obj,
[key]: value,
});
};
const nestedUpdate = (path, value) => {
return (obj) => {
const [key, ...rest] = path.split(".");
return {
...obj,
[key]:
rest.length > 0 ? nestedUpdate(rest.join("."), value)(obj[key]) : value,
};
};
};
章節提問