【发布时间】:2020-05-06 05:42:25
【问题描述】:
我正在使用 React 钩子(钩子的新手),今天遇到了一个错误。更改状态后,内容不会按应有的方式重新渲染。代码如下:
const App = () => {
const [messeges, UpdataMesseges] = useState([]);
//here's the code for updating the state, but even after changing the state it's not
//re-rendering the content on the page.
const sendMessege = (user, messege) => {
UpdataMesseges((prevState) => {
prevState.push({user: user, content: messege});
console.log(messeges); //here it logs that state is changed (previously)
return prevState;
});
}
console.log(messeges);
return (
<div className="App">
<Header />
<Chat>
{
messeges.map(obj => <Messege content={obj.content} user="A" key={obj.content} />)
}
</Chat>
{console.log(messeges)} {/*<----- Nothing gets logged even on state change*/}
<Control>
<Btn click={() => sendMessege('A', 'blah bla')} >blah</Btn>
</Control>
</div>
);
}
export default App;
提前致谢!
【问题讨论】:
标签: reactjs react-hooks state