将 onclick 传递按钮 api id 反应到 state
React onclick pass button api id to state
我有一个简单的 aip,它有一个包含 4 个不同 ID 的数组。作为反应,我为每个 ID 创建了一个带有按钮的 <ul>
。当我单击按钮时,我想更改 state.id
和 console.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)),它们都保证在应用更新后触发。
我有一个简单的 aip,它有一个包含 4 个不同 ID 的数组。作为反应,我为每个 ID 创建了一个带有按钮的 <ul>
。当我单击按钮时,我想更改 state.id
和 console.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)),它们都保证在应用更新后触发。