Gen*_*her 10 local-storage reactjs
我正在尝试使用本地存储来存储我的阵列,但我不知道该怎么做。另外,我该如何做到这一点,以便每次更新状态时,本地存储都会同时更新?
当前代码:
import React, { useState, createContext } from 'react';
import { v4 as uuidv4 } from 'uuid';
export const NoteContext = createContext();
export const NoteProvider = props => {
const [notes, setNotes] = useState([
{id:uuidv4(), message:'asdfasdfffffffffffffffffffffffffffffffffffffff',title:'New Note', selected:false},
{id:uuidv4(), message:'asdfffffffffffffffffffffffffffffffffffffff',title:'e', selected:false},
{id:uuidv4(), message:'asdfasdfffffffffffffffffffffffffffffffffffffff',title:'New Note', selected:false},
{id:uuidv4(), message:'asdfasdfffffffffffffffffffffffffffffffffffffff',title:'New Note', selected:false},
{id:uuidv4(), message:'asdfasdfffffffffffffffffffffffffffffffffffffff',title:'New Note', selected:false},
{id:uuidv4(), message:'asdfasdfffffffffffffffffffffffffffffffffffffff',title:'New Note', selected:false},
{id:uuidv4(), message:'asdfasdfffffffffffffffffffffffffffffffffffffff',title:'New Note', selected:false},
{id:uuidv4(), message:'asdfasdfffffffffffffffffffffffffffffffffffffff',title:'New Note', selected:false},
{id:uuidv4(), message:'asdfasdfffffffffffffffffffffffffffffffffffffff',title:'New Note', selected:false}
])
return (
<NoteContext.Provider value={[notes, setNotes]}>
{props.children}
</NoteContext.Provider>
)
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*ton 18
您可以使用 初始化状态localStorage并传播更改useEffect。
function getInitialState() {
const notes = localStorage.getItem('notes')
return notes ? JSON.parse(notes) : []
}
export const NoteProvider = props => {
const [notes, setNotes] = useState(getInitialState)
useEffect(() => {
localStorage.setItem('notes', JSON.stringify(notes))
}, [notes])
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15720 次 |
| 最近记录: |