【问题标题】:React.createElement error using ReduxRouter使用 ReduxRouter 的 React.createElement 错误
【发布时间】: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


    【解决方案1】:

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

    正确的导入是:

    import { ReduxRouter } from 'redux-router'
    

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

    【讨论】:

      猜你喜欢
      • 2016-08-26
      • 1970-01-01
      • 2016-06-05
      • 2017-07-24
      • 1970-01-01
      • 1970-01-01
      • 2019-11-03
      • 1970-01-01
      • 2018-04-28
      相关资源
      最近更新 更多