Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 警告:失败的propType:无效的prop';组件';提供给';路线';_Javascript_Reactjs_Redux_React Router_React Redux - Fatal编程技术网

Javascript 警告:失败的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

当我在浏览器上运行我的应用程序时,我会进入控制台:

警告:失败的propType:提供给的prop“组件”无效 “路线”

我的路线文件:

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'


如果您没有PContainerPView文件夹,那么它可能应该是
'./container/PContainer'
./container/PView'

我遇到了与您相同的问题

当我将connect()组件放入
中时,此警告必须存在。如果组件不是connect()组件,那么问题就不会出现

解决方案

你可以换线

<Route path="/Posts View" component={PView} />

}/>
那问题就应该解决了

思考

请看这份文件

当您有一个现有组件(或 React.Component或无状态的功能组件)中的 提供。只应使用带有内联函数的render 当您必须将范围变量传递给您想要的组件时 渲染


因此,当您想要定义connect()组件的路由时,您将隐式地向其中传递一些附加的道具,然后根据文档,您应该使用render而不是component。我想这就是发生警告的原因。

最近,我经历了这个问题。我发现,如果您有任何导入的组件是空的或没有返回的,那么这个问题就会出现,因为Read不能认为它是一个有效的组件。
查看是否有任何可能留空的组件。

路由路径中是否允许像“`”这样的空格?是的,它是允许的。@James111的可能重复上一个问题是由于键入错误。我在这里没有看到任何打字错误。你确定问题来自PView吗?,
App
似乎也给了一条路线。
App
是否导出良好?请参阅