【发布时间】:2020-01-15 11:21:04
【问题描述】:
我正在尝试创建一个包含两个名为“标题”和“详细信息”的值的待办事项列表。 到目前为止,我可以在本地存储中设置项目,但不确定如何从同一个本地存储中取回项目并将其呈现在列表中。
这是我的 TaskContext.js 组件:
import React, { createContext, useState, useEffect } from "react";
import uuid from "uuid/v1";
export const TaskContext = createContext();
const TaskContextProvider = props => {
const [tasks, setTasks] = useState([
{ title: "name of the wind", detail: "patrick", id: 1 },
{ title: "Rich dad poor dad", detail: "wilson", id: 2 }
]);
useEffect(() => {
localStorage.setItem("tasks", JSON.stringify(tasks));
}, [tasks]);
const addTask = (title, detail) => {
setTasks([...tasks, { title: title, detail: detail, id: uuid() }]);
};
const removeTask = id => {
setTasks(tasks.filter(task => task.id !== id));
};
return (
<TaskContext.Provider value={{ tasks, addTask, removeTask }}>
{props.children}
</TaskContext.Provider>
);
};
export default TaskContextProvider;
请帮帮我。
【问题讨论】:
-
使用 localStorage.getItem('itemKey')。请参阅此处以供参考:developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
标签: javascript reactjs