Javascript 警告:失败的propType:无效的prop';组件';提供给';路线';
当我在浏览器上运行我的应用程序时,我会进入控制台: 警告:失败的propType:提供给的prop“组件”无效 “路线” 我的路线文件:Javascript 警告:失败的propType:无效的prop';组件';提供给';路线';,javascript,reactjs,redux,react-router,react-redux,Javascript,Reactjs,Redux,React Router,React Redux,当我在浏览器上运行我的应用程序时,我会进入控制台: 警告:失败的propType:提供给的prop“组件”无效 “路线” 我的路线文件: import { Route, IndexRoute } from 'react-router'; import React from 'react'; import App from './container/App'; import PContainer from './container/PContainer/PContainer'; import PV
import { Route, IndexRoute } from 'react-router';
import React from 'react';
import App from './container/App';
import PContainer from './container/PContainer/PContainer';
import PView from './container/PView/PView';
const routes = (
<Route path="/" component={App} >
<IndexRoute component={PContainer} />
<Route path="/Posts View" component={PView} />
</Route>
);
export default routes;
import React, { Component, PropTypes } from 'react';
import { connect } from 'react-redux';
class PView extends Component {
render() {
return (
<div>
<h1>List of Posts</h1>
</div>
);
}
}
export default connect()(PView);
从'react router'导入{Route,IndexRoute};
从“React”导入React;
从“./container/App”导入应用程序;
从“./container/PContainer/PContainer”导入PContainer;
从“/container/PView/PView”导入PView;
常数路由=(
);
导出默认路径;
我的PView文件:
import { Route, IndexRoute } from 'react-router';
import React from 'react';
import App from './container/App';
import PContainer from './container/PContainer/PContainer';
import PView from './container/PView/PView';
const routes = (
<Route path="/" component={App} >
<IndexRoute component={PContainer} />
<Route path="/Posts View" component={PView} />
</Route>
);
export default routes;
import React, { Component, PropTypes } from 'react';
import { connect } from 'react-redux';
class PView extends Component {
render() {
return (
<div>
<h1>List of Posts</h1>
</div>
);
}
}
export default connect()(PView);
import React,{Component,PropTypes}来自'React';
从'react redux'导入{connect};
类PView扩展了组件{
render(){
返回(
员额清单
);
}
}
导出默认连接()(PView);
有人能告诉我为什么会出现此错误吗?请确保App、PContainer和PView都是有效的组件。检查模块的导入和导出。导出应使用“default”,否则应使用命名的导入:
import{somecomp}from./somecomp'
。检查到组件的路由
您的路线看起来有点奇怪:。/container/PContainer/PContainer'
和。/container/PView/PView'
如果您没有PContainer和PView文件夹,那么它可能应该是
'./container/PContainer'
和./container/PView'
。我遇到了与您相同的问题
当我将connect()组件放入
中时,此警告必须存在。如果组件不是connect()组件,那么问题就不会出现
解决方案
你可以换线
<Route path="/Posts View" component={PView} />
到
}/>
那问题就应该解决了
思考
请看这份文件
当您有一个现有组件(或
React.Component或无状态的功能组件)中的
提供。只应使用带有内联函数的render
当您必须将范围变量传递给您想要的组件时
渲染
因此,当您想要定义connect()组件的路由时,您将隐式地向其中传递一些附加的道具,然后根据文档,您应该使用render而不是component。我想这就是发生警告的原因。最近,我经历了这个问题。我发现,如果您有任何导入的组件是空的或没有返回的,那么这个问题就会出现,因为Read不能认为它是一个有效的组件。
查看是否有任何可能留空的组件。路由路径中是否允许像“`”这样的空格?是的,它是允许的。@James111的可能重复上一个问题是由于键入错误。我在这里没有看到任何打字错误。你确定问题来自PView吗?,
App
似乎也给了一条路线。App
是否导出良好?请参阅