由于某种原因,useReducer和useContext的组合不适合我,正如你可以从代码中看到的,我试图使用onChange来更改值,它第一次工作,但第二次一切崩溃。这里有代码https://codesandbox.io/s/billowing-field-k7lif?file=/src/App.css Ps的链接:js和Surcharge是要 checkout 的文件。(忽略注解)
由于某种原因,useReducer和useContext的组合不适合我,正如你可以从代码中看到的,我试图使用onChange来更改值,它第一次工作,但第二次一切崩溃。这里有代码https://codesandbox.io/s/billowing-field-k7lif?file=/src/App.css Ps的链接:js和Surcharge是要 checkout 的文件。(忽略注解)
3条答案
按热度按时间6za6bjd01#
问题是Reducer从不返回更新的状态,而是隐式返回
undefined
。应该是
我建议你再看看这里的文件
68de4m5k2#
〈ContextOne.Provider value={{ initialState,dispatch }}〉当然,initialState永远不会改变,事实上,它只是初始状态,所以都是零。我需要做的是:
〈ContextOne.提供程序值={{状态,调度}}〉
f5emj3cl3#
在app.js中,您应该更改这一行:
到这个
此外,在Surcharge.js中,在输入值prop处更改以下内容:
到这个