Reactjs React Router-TypeError:无法读取属性';toUpperCase';未定义的

Reactjs React Router-TypeError:无法读取属性';toUpperCase';未定义的,reactjs,react-router,Reactjs,React Router,与React合作时偶然发现此问题。我似乎找不到解决办法。堆栈跟踪没有多大帮助,因为脚本与webpack捆绑在一起 这是我从控制台得到的 [HMR] Waiting for update signal from WDS... Warning: React.createElement: type should not be null or undefined. It should be a string (for DOM elements) or a ReactClass (for composit

与React合作时偶然发现此问题。我似乎找不到解决办法。堆栈跟踪没有多大帮助,因为脚本与webpack捆绑在一起

这是我从控制台得到的

[HMR] Waiting for update signal from WDS...
Warning: React.createElement: type should not be null or undefined. It should be a string (for DOM elements) or a ReactClass (for composite components).
Warning: React.createElement: type should not be null or undefined. It should be a string (for DOM elements) or a ReactClass (for composite components).
Warning: Only functions or strings can be mounted as React components.
Uncaught TypeError: Cannot read property 'toUpperCase' of undefined
[WDS] Hot Module Replacement enabled.
尝试呈现此应用程序组件时遇到问题

import React from 'react'
import { Router, Route, IndexRoute } from 'react-router'
import { TableRequest, TableEngineer } from './tables.jsx'
import createBrowserHistory from 'history/lib/createBrowserHistory'
export class App extends React.Component {
    render() {
        return (
            <Router history={createBrowserHistory()}>
                <Route path="/" component={Index}>
                    <IndexRoute component={Home} />
                    <Route path="indeks-permohonan" component={TableRequest} />
                    <Route path="indeks-work-order" component={TableEngineer} />
                    <Route path="*" component={NotFound} />
                </Route>
            </Router>
            )
    }
}

它只是意味着
String
undefined
,并且code正在对未定义的字符串调用
toUpperCase()
。你必须找出那段代码在你的文件中的位置。您只需在对此类字符串调用
toUpperCase()
之前添加一个未定义的检查。

尝试将
react router
更新到v1.0。使用v0.13时会发生错误


npm安装该版本是因为还没有稳定的1.0版本。您必须手动将
^1.0.0-rc1
添加到您的package.json中。

您需要导入
索引
主页
未找到
组件。

您没有导入
未找到
组件。很抱歉,我没有发布完整的脚本,应该添加一个注释,说明这些组件在同一个文件中。抱歉,我遗漏了它们,我应该写下它们在同一个文件中。是否检查以确保所有组件都已导出?如果我忘记做
module.exports=Component,我有时会看到这种情况是的,我确实使用了
1.0.0-rc1
版本。它指向
react
库。但在我的例子中,只有当我试图从另一个库(即
react Router
)渲染
Router
Route
组件时,才会发生这种情况。
├── babel-core@5.8.25
├── babel-loader@5.3.2
├── file-loader@0.8.4
├── history@1.10.1
├── lodash@3.10.1
├── path@0.12.7
├── react@0.13.3
├── react-bootstrap@0.25.2
├── react-hot-loader@1.3.0
├── react-router@1.0.0-rc1
├── react-router-bootstrap@0.19.0
├── reactable@0.11.4
├── webpack@1.12.2
└── webpack-dev-server@1.11.0