如何在不使用Redux的情况下保存道具或状态值

时间:2018-09-11 12:22:20

标签: reactjs ecmascript-6 react-props

所以,我仍然是React的初学者,我正在尝试保存“数量”的状态值

    constructor(props){
        super(props);
        this.state = {
          visible: false,
          selected: false,
          quantity: ""
        }
        this.toggleMenu = this.toggleMenu.bind(this);
    }

我想将此数据传递到与该组件的父级链接的组件,以防止丢失数据。

<Link to={`/itemSelection/${sessionStorage.getItem("")}/checkout`}>PROCEED</Link>

______________________________________________________-

编辑

因此父组件是其中的ItemSelection,我将导入Item组件并映射从api获取的一些数据。

                <div className="row">
                    {this.state.items.map(i => <Item name={i.name} quantity={i.quantity} />)}
                </div>

我传递给Item的数量是我从api获取的全部数量。

项目组件内部

constructor(props){
        super(props);
        this.state = {
          visible: false,
          selected: false,
          quantity: ""
        }
        this.toggleMenu = this.toggleMenu.bind(this);
    }

这里的数量是我为每个选择的项目选择的数量。当我单击指向checkout组件的链接时,我会丢失这些数据;如果回到itemSelection组件,我也会发现这些数据也丢失了。因此,我想将此数量的每个项目传递给checkout组件,如果再次返回itemSelection组件,则可以防止丢失数据。 希望这种澄清是有道理的。

1 个答案:

答案 0 :(得分:2)

您必须将状态提升到路由上方。 IE:

cannot import name