在函数组件中,可以通过 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进行更新即可