【发布时间】:2026-01-06 11:30:02
【问题描述】:
此示例模拟抛硬币。
我想随机化硬币的初始状态。第一次加载页面时,它可能会显示头像。下一次,尾巴。为此,我使用由 Math 方法生成的随机数和基于随机数确定硬币面的条件(偶数表示正面,奇数表示反面)。
该值需要在初始渲染时显示。
我还想使用 React 的 Hooks 将值存储在状态中,以便稍后在我的应用程序中使用。如何使用钩子设置随机初始状态值?
这是我正在使用的代码。它目前不起作用,我不确定我做错了什么来实现我的目标:
import React, { useState } from 'react';
import './App.css';
function App() {
const [coin, setCoin] = useState(randomizePlayer())
const randomizePlayer = () => {
let number = Math.floor(Math.random() * 10) + 1
return (number % 2 === 0) ? setCoin('Heads') : setCoin('Tails')
}
return (
<div className="App">
The coin is showing {coin}
</div>
);
}
export default App;
我是 hooks API 的新手,我正在使用这个练习来学习。
感谢任何帮助!
【问题讨论】:
-
目前还不清楚它是如何工作的。在页面重新加载之间应该保留一个状态,对吗?那么你需要持久状态。这不是特定于钩子的。既然您是 hooks 新手,您将如何对 class 和
this.state做同样的事情? -
嘿,埃斯图斯。我很感激你的回应!我明白我想要完成的可能不是最佳实践。我在 Jake Worth 的回答中添加了评论,我很好奇您对此的看法。
-
我仍然不确定您到底想要完成什么。如果答案对您有用,那没关系,但这与您在问题中所说的不一致。你能提供一个例子来说明如何在没有钩子的情况下实现这个逻辑吗?这将使您清楚地了解您想要什么。
标签: reactjs state react-hooks