如何解决为什么我不能使用 useState React Hook 更新状态,“警告:无法在未安装的组件上执行 React 状态更新这是一个空操作,但是我”
我正在创建一个简单的应用程序,其状态如下
const [questions,setquestions] = useState([ {
id: '1',author: 'Sarahedo',optionOne: {
Votes: ['Sarahedo'],text: 'have horrible short term memory',},optionTwo: {
Votes: [],text: 'have horrible long term memory'
}
},{
id: '2',author: 'johndoe',optionOne: {
Votes: [],text: 'become a superhero',optionTwo: {
Votes: ['johndoe','Sarahedo'],text: 'become a supervillian'
}
},]
const VoteHandler = (id,selectedOption,Voter) => {
questions_copy.filter(singleObject =>
{if(singleObject.id === id){
singleObject["optionOne"]["text"] === selectedOption ? singleObject["optionOne"]["Votes"].push(Voter) : singleObject["optionTwo"]["Votes"].push(Voter)
}
}
)
setquestions(questions_copy)
}
我已经使用 props 将这个函数发送到它的子组件,当这个函数被调用时,它给了我这个错误
警告:无法对已卸载的组件执行 React 状态更新。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要解决此问题,请取消 useEffect 清理函数中的所有订阅和异步任务。
const onSubmitHandler = (e) => {
e.preventDefault()
props.history.location.data.VoteHandler(props.location.state.id,props.location.state.dummyLogin)
props.history.push("/")
}
我只是在更新状态,我不知道它为什么会这样
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。