我创建了一个待办事项应用程序,我想将待办事项保存在localStorage.
我想添加这样的localStorage属性:
addForm.addEventListener("submit", (e) => {
e.preventDefault();
let todo = addForm.add.value.trim();
if (todo.length) {
localStorage.setItem(todo);
generateTemplate(todo);
addForm.reset();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用。
所以,我的问题是,在代码的哪一部分添加属性是最佳实践,在哪一部分最好也添加getItem方法?
这是没有localStorage属性的整个代码:
addForm.addEventListener("submit", (e) => {
e.preventDefault();
let todo = addForm.add.value.trim();
if (todo.length) {
localStorage.setItem(todo);
generateTemplate(todo);
addForm.reset();
}
}
Run Code Online (Sandbox Code Playgroud)
const addForm = document.querySelector(".add");
const list = document.querySelector(".todos");
const search = document.querySelector(".search input");
// generate new toDo's
const generateTemplate = (todo) => {
let html = ` <li class="list-group-item d-flex justify-content-between align-items-center">
<span>${todo}</span><i …Run Code Online (Sandbox Code Playgroud)我正在尝试获取此函数参数的正确类型
const handleInputChange = ({ target }) => {
setFormValues({
...formValues,
[target.name]: target.value,
});
};Run Code Online (Sandbox Code Playgroud)
它向我抛出一个错误,但没有使应用程序崩溃,但我知道这不是一个好的做法。
为了提供更多上下文,所有正在更改的字段都是字符串。