页面刷新后,React保留输入值,并将其保存在本地存储中

时间:2020-09-11 15:02:09

标签: reactjs input frontend local-storage refresh

我正在使用react进行一项功能,该功能可以保存输入中的文本并自动更新到本地存储中,我希望即使刷新页面,输入中的文本仍保持不变,并且状态不会从头开始重置。感谢您的帮助,祝您有美好的一天。请在以下代码和框codesandbox link中给我一个演示。再一次谢谢你

1 个答案:

答案 0 :(得分:2)

首先,您要以反应状态存储输入的值

const [value, setValue] = useState("");

当输入更改时,将更改写入反应状态,并写入localStorage

const handleChange = (e) => {
  setValue(e.target.value);
  localStorage.setItem("inputValue", e.target.value);
};

安装组件时,我们想将输入的初始状态设置为localStorage中的值

useEffect(() => {
  setValue(localStorage.getItem("inputValue"));
}, []);

最后,将处理程序挂接到onChange,并使用React状态作为表单值

<input
  value={value}
  onChange={handleChange}
/>

请参阅:https://codesandbox.io/s/react-input-not-reload-after-refreshing-forked-q84r8?file=/demo.js