【发布时间】:2019-02-05 06:27:37
【问题描述】:
我的组件中有这个:
const [ pendingMessages, setPendingMessages ] = React.useState([]);
React.useEffect(function() {
ref.current.addEventListener('send-message', onSendMessage);
return function() {
ref.current.removeEventListener('send-message', onSendMessage);
};
}, []);
function onSendMessage(event) {
const newMessage = event.message;
console.log('Here not up to date :(', pendingMessages);
setPendingMessages([ ...pendingMessages, newMessage ]);
}
问题是pendingMessages 在侦听器内部不是最新的,因为它不在渲染内部。它已经附上了。有什么想法可以解决这个问题吗?
谢谢!
【问题讨论】:
标签: javascript reactjs react-hooks