小编lla*_*ino的帖子

使用 Redux 操作获取后在道具上执行逻辑

我最近开始在 React 中使用 Redux。我想知道如何对我刚刚获取的数据执行一些逻辑(这是一种不好的做法吗?),在同一个处理程序中我调用了 redux 操作。我附上一个简单的例子,所以你可以理解我的意思。

 function CakeContainer(props) {
   return (
      <div>
         <h2>Number of cakes - {props.numOfCakes}</h2>
         <button onClick={props.buyCake}>Buy Cake</button>
      </div>
   )

}
Run Code Online (Sandbox Code Playgroud)

props.buyCake工作正常,它numOfCakes从 redux 状态中获取并将显示在组件中的值减 1。所以如果一numOfCakes开始的值是10,点击按钮后就是9。

例如,如果我想乘以numOfCake按钮处理程序内部的值怎么办?组件代码将是

function CakeContainer(props) {
   return (
      <div>
         <h2>Number of cakes - {props.numOfCakes}</h2>
         <button onClick={() => {
           props.buyCake();
           console.log("num multiplied by 2",props.numOfCakes*2)
         }}>Buy Cake</button>
      </div>
   )

}
Run Code Online (Sandbox Code Playgroud)

在控制台日志中,第一次单击按钮后,我有 20 (10*2) 个,因为NumOfCakes尚未更新。有没有办法在处理程序中获得更新的值,还是一种不好的做法?

reactjs redux react-redux

0
推荐指数
1
解决办法
39
查看次数

标签 统计

react-redux ×1

reactjs ×1

redux ×1