我是新来的反应和反应路由器。
react的问题在于,在我的应用程序的某些页面上,react-router正在运行,并且出现一些类似的错误:“无法读取未定义的属性’push’”。
我正在使用反应0.14.1
我的路由代码如下所示:
render(
<Router history={hashHistory}>
<Route path="/" component={Loginpanel}/>
<Route path="Index" component={Index}/>
<Route path="Form" component={Form} />
<Route path="Checkindex" component={Index}/>
<Route path="Signup" component={Signup}/>
<Route path="Admin" component={Admin}/>
<Route path="AdminEditDetails" component={AdminEditDetails}/>
<Route path="AdminDetails" component={AdminDetails}/>
</Router>,
document.getElementById('js-main'));
我的组件现在是这样的:
class App extends React.Component {
constructor(props) {
super(props);
this.state= {
comments: AppStore.getAll();
};
}
componentWillMount() {
var length = this.state.comments.length;
var firstnumber = length - 4;
if(length == 0){
console.log("here comes");
this.props.router.push('/');
}
else{
console.log('work normally');
}
}
}
谁能帮我这个?谢谢。
您的应用程序中没有提供支持的Router实例Cannot read property 'push' of undefined
。
我假设您要导入withRouter以获取Router的实例,因此如果您仍然想使用该组件,则需要将其包装起来…(此处为示例,但不建议使用)
相反,以编程方式导航的更好方法是使用
import { hashHistory } from 'react-router;' ... hashHistory.push('/');
在您的componentWillMount
生命周期事件中。
文档在这里
希望这可以帮助!
问题内容: 我是React的新手,正在使用React,Redux和React Router构建我的第一个应用程序,到目前为止,我已经成功设置了样板,但是当我想使用React-Router并创建路由时,出现以下错误 这仅在我尝试导入和使用时发生 这是我的index.js 还有我的package.json 任何知识都将受到欢迎,谢谢! 问题答案: 尝试将PropTypes包添加到您的应用中。 看来您只
问题内容: 我有一个带有旋转幻灯片的 仪表板 ,每个幻灯片在 Bldgs中 都有一个对应的选项卡。两者并有孩子我。 当用户单击特定的幻灯片时,需要告诉以便告诉它在路由到时显示选项卡。 我 相信 ,我从传递正确的索引值达到和向下。但是,我的文件中抛出一个错误,指出: 在我开始将函数传递给组件之前,我的代码运行良好。 Index.js App.js Dashboard.js Bldgs.js 问题答案
请注意,我在react ProductScreen.js中呈现动态数据时有问题 注意,...数据在product.js中呈现得很好,但相同的数据在productscreen.js中不会呈现,因为productscreen.js链接是通过“id”呈现的。 谢谢app.js 导入“./homescreen.css”;从'../Components/Product'导入产品从'React'导入{useE
我相信我将正确的索引值从传递到,再传递到。但是,在我的文件中抛出一个错误,该错误声明: 在开始将函数传递给组件之前,我的代码运行良好。 dashboard.js Bldgs.JS
通常,当我单击子组件中的菜单项时,它会调用{this.handlesort},这是一个本地函数。句柄排序从父组件接收onReorder道具。{onReorder}调用名为reOrder的本地函数。它设置{orderBy and orderDir}的状态。问题是,当我单击{menuitem}时,它立即返回此错误。(未捕获的TypeError:无法读取未定义的属性“onReOrder”)。通常,当我不