在函数组件中,可以通过 useState 来模拟 forceUpdate 的墙纸刷新操作。因为只要 useState 的状态发生变化,就会触发函数组件的重新渲染
const App: React.FC = () => {
const [ , forceUpdate] = useState({});
const update = () => forceUpdate({});
return (
<div>
<button onClick={update}>Current Time: {Date.now()}</button>
</div>
);
};
只接收第二个修改 state 的函数,然后对这个state进行更新即可