使用ReduxRouter React.createElement错误

时间:2016-03-24 16:45:06

标签: javascript reactjs ecmascript-6 react-router redux

我正在尝试在项目中使用redux-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'));

我的路线与react-router配合良好。

然后我的初始化代码(部分):

<ReduxRouter>{routes}</ReduxRouter>

我在ReduxRouter的createElement上遇到以下错误:

  

警告:React.createElement:type不应为null,未定义,   布尔值或数字。它应该是一个字符串(对于DOM元素)或a   ReactClass(用于复合组件)。

如果我只是尝试写入控制台,我会收到以下错误:

Symbol(react.element)

在控制台中,我得到一个带有正确道具的undefined(我的路线作为孩子),但类型为Root

结果,我得到了:

  

未捕获的不变违规:元素类型无效:预期a   string(用于内置组件)或类/函数(用于复合   组件)但得到:未定义。检查{{1}}的呈现方法。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

好的,那是一个愚蠢的人。我只是错误地导入ReduxRouter。

正确导入是:

import { ReduxRouter } from 'redux-router'

感谢Reactiflux的@tomo指出了这一点!