且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何使用条件钩子和反应钩子设置随机初始状态?

更新时间:2022-12-11 09:50:45

我将重写此代码,如下所示:

const randomizePlayer = () => {
  const number = Math.floor(Math.random() * 10) + 1
  return (number % 2 === 0) ? 'Heads' : 'Tails'
}

function App() {
  const [coin, setCoin] = useState(randomizePlayer())

  return (
    <div className="App">
      The coin is showing {coin}
    </div>
  );
}

randomizePlayer不需要调用setState;让它只返回值。useState可以将该值用作其初始状态。

还要澄清一下:useState只被调用一次。如果希望coin具有不同的值,则使用此安装程序执行此操作的方法是重新装入组件(重新加载页面)。

State hooks docs