【发布时间】:2015-12-02 08:21:45
【问题描述】:
我正在使用 react-router 和 Alt 构建一个简单的应用程序,并且我在一个带有路由器参数的页面上。我已经为这个页面建了一个store,我想在store中获取当前的路由器参数。
这是我的商店代码:
var alt = require('../alt.jsx'),
Router = require('react-router'),
State = Router.State,
videoActions = require('../actions/videoActions.jsx')
class videoStore {
constructor() {
console.log(State.getParams())
}
}
module.exports = alt.createStore(videoStore)
但是,我在控制台中收到此错误:
Uncaught TypeError: Cannot read property 'router' of undefined
我知道我可以使用 State mixin 从组件本身执行此操作,但我正在尝试在 Store 本身中初始化状态。
谁能帮忙?
谢谢
【问题讨论】:
-
为什么要把商店和路由器结合起来?您不能将路由器参数作为参数传递给操作吗?
-
@limelights 天哪,我现在感觉好傻。发表您的建议作为答案,我会接受。非常感谢:)
-
即使您将它们作为参数传递,您也无法访问路由,这适用于了解“状态”的组件,而不是用于组件之外。我发布了一个可以在组件之外工作的有效解决方案,请在下面查看我的答案。
标签: reactjs flux react-router