【发布时间】:2016-07-12 08:40:20
【问题描述】:
我正在尝试在项目中使用 redux-router,但我无法让它工作。
这是我的路线定义(部分):
export default function(store) {
return (
<Route path="/" component={Main}>
[ALL NESTED ROUTES]
</Route>
)
}
我的路由与 react-router 配合得很好。
然后是我的初始化代码(部分):
import ReduxRouter from 'redux-router'
import {Provider} from 'react-redux'
[...]
const routes = Routes(store);
class Root extends Component {
render() {
return (
<div>
<Provider store={store}>
<ReduxRouter>{routes}</ReduxRouter>
</Provider>
</div>
);
}
}
ReactDOM.render(<Root />, document.getElementById('content'));
我在 ReduxRouter 的 createElement 上收到以下错误:
警告:React.createElement:类型不应为 null、未定义、 布尔值或数字。它应该是一个字符串(对于 DOM 元素)或 ReactClass(用于复合组件)。
如果我只是尝试写入控制台,则会收到以下错误:
<ReduxRouter>{routes}</ReduxRouter>
在控制台中,我得到一个带有正确道具的Symbol(react.element)(我作为孩子的路线),但类型为undefined
因此,我得到:
未捕获的不变违规:元素类型无效:预期为 字符串(用于内置组件)或类/函数(用于复合 组件)但得到:未定义。检查
Root的渲染方法。
我错过了什么?
【问题讨论】:
标签: javascript reactjs ecmascript-6 react-router redux