gpt4 book ai didi

reactjs - 如何存储到本地存储? ( react )

转载 作者:行者123 更新时间:2023-12-04 01:51:14 25 4
gpt4 key购买 nike

我有一个问题要问你...在我的 React 应用程序中,我有一个 <input></input>但由于本地存储,我希望用户能够保留他的消息。

class Profil extends Component {
message() {
if (localStorage != 'undefined'){
document.getElementById('message').value = localStorage.getItem('message');
}
else {
alert("localStorage is not supported");
}
}
render() {
return (
<div>
<input name="message" onChange={() => this.message()}></input>
</div>
);
}}

这样,当我放一封信时,我直接收到一条错误消息:
TypeError: localStorage.getItem(...) is null

这条线是假的:
document.getElementById('message').value = localStorage.getItem('message');

我需要做什么 ?

最佳答案

您可以保持消息处于状态并在每次更改时更新 localStorage 值,而不是手动操作 DOM,并在创建组件时从 localStorage 读取值。

示例

class Profile extends React.Component {
constructor() {
super();
this.state = {
message: localStorage.getItem("message") || ""
};
}

onChange = event => {
const message = event.target.value;

localStorage.setItem("message", message);
this.setState({ message });
};

render() {
return <input value={this.state.message} onChange={this.onChange} />;
}
}

关于reactjs - 如何存储到本地存储? ( react ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52968977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com