反应->状态管理

时间:2019-01-24 22:57:17

标签: reactjs react-router

我是React的初学者。我想构建一个与页面(howmuchtomakeanapp.com)类似的应用程序。这意味着对于用户在路线上所做的每个选择,都会将价格添加到总计中,但是当使用“后退”按钮返回时,价格将返回到前一个价格。我知道这是状态管理,但是即使阅读了整个react文档,我实际上也不知道如何做。

2 个答案:

答案 0 :(得分:1)

React状态存储在组件内部。需要与其他组件共享时,它会通过道具传递。实际上,这意味着需要访问可变值的组件将保持该值的状态,并且如果子组件可以更改该值,则必须传递一个回调来处理该更改。

要了解有关组件和道具的更多信息,这是React文档本身的链接:https://reactjs.org/docs/components-and-props.html

我建议您看看Redux(https://redux.js.org/),它是JavaScript应用程序的可预测状态容器。

答案 1 :(得分:0)

根据您的描述,我假设您将价格保留为数字,并在其中加上进一步的步骤?

除了您不需要做任何特别的事情之外,

我的方法是保留所有价格的数组,这样您始终可以在单击上一个按钮时删除最后一个价格。每次选择一个价格,便添加一个价格,然后导航至下一条路线。要显示总数,只需将数组加在一起:

const prices = [3.5,5,10,5.76,23];
const total = prices.reduce((p, c) => p + c, 0);

有帮助吗?