将 onclick 传递按钮 api id 反应到 state

React onclick pass button api id to state

我有一个简单的 aip,它有一个包含 4 个不同 ID 的数组。作为反应,我为每个 ID 创建了一个带有按钮的 <ul>。当我单击按钮时,我想更改 state.idconsole.log 新的 state.id 以及 api 中新的特定按钮 id 值(最终我想更改一些渲染取决于我按下的按钮)。

我需要在其中一个按钮上按两次 console.log 我想要的 ID,我需要在第一次点击时改变状态(对一些新渲染进行一些改变)。

来自 setState()

的 React 文档

Think of setState() as a request rather than an immediate command to update the component. For better perceived performance, React may delay it, and then update several components in a single pass. React does not guarantee that the state changes are applied immediately.

尝试在您的渲染函数中记录 this.state,您将看到在第一次点击后它实际上是如何发生的 - 但您的日志显示它是在状态更新之前。

setState() : setState() 并不总是立即更新组件。它可能会分批更新或将更新推迟到以后。这使得在调用 setState() 之后立即读取 this.state 成为一个潜在的陷阱。相反,请使用 componentDidUpdate 或 setState 回调 (setState(updater, callback)),它们都保证在应用更新后触发。