【发布时间】:2020-12-11 09:11:44
【问题描述】:
我正在学习 React.js,但遇到了以下问题:
在使用 Saga 添加“createBrowserHistory”后,我的 react 应用停止工作。
基本上,当我点击“添加到购物车”按钮时,我想将用户重定向到购物车页面 (/cart)。
例子:
那是首页:
当我点击“添加到购物车”按钮时,它会导航到“/cart”路线。但是,它没有显示任何内容,并且控制台中没有错误。
我对我的代码进行了以下更改:
添加历史包:
创建的历史文件:
更改的 App.js 文件:
更改了 saga 文件。我希望在完成一些工作后导航到“/cart”路线...
问题就在这里!我只想解决我的 saga 文件中的问题。
我在这里创建了一个拉取请求,以重现错误。随意看看这个。
https://github.com/willianfalbo/online-shoes-app/pull/1
我愿意赏金为我创建 PR 的人。我也会在这里接受你的回答!
【问题讨论】:
-
为什么首先需要
createBrowserHistory历史?当您的redux-saga调用api并成功后,将控件返回给您的React 组件以供以后处理不是更好吗?意思是,您可以轻松地更改React component中的路线,而不是sagas,这将首先否定createBrowserHistory的使用.. -
尝试改成
yield call(history.push, '/cart'); -
@AlekseyL.,我试过这种方法,但没有用。
-
@PrãtéékThápá,你有什么例子吗?
-
您可以使用
MemoryHistory进行测试,看看它在这种情况下是否仍然存在问题。不是解决方案,但可能会说明一些事情
标签: javascript reactjs react-redux redux-saga