相关疑难解决方法(0)

以编程方式使用react-router进行导航

我正在开发中,我检查,如果用户不是一个应用程序loggedIn我都显示登录表单,否则dispatch一个action将改变路线和加载其他组件.这是我的代码:

render() {
    if (isLoggedIn) {
        // dispatch an action to change the route
    }
    // return login component
    <Login />
}
Run Code Online (Sandbox Code Playgroud)

我怎么能实现这一点,因为我无法改变渲染功能内的状态.

javascript reactjs react-router redux react-router-v4

44
推荐指数
2
解决办法
2万
查看次数

如何在Link上使用onClick事件:ReactJS?

在路由器做出反应,我必须的onClick属性,如下图所示

<li key={i}><Link to="/about" onClick={() => props.selectName(name)}>{name}</Link></li>

state = {
    selectedName: ''
};

selectName = (name) => {
   setTimeout(function(){this.setState({selectedName:name});}.bind(this),1000);
   // this.setState({selectedName: name});
}
Run Code Online (Sandbox Code Playgroud)
  • 属性导航到路线
  • onClick将值赋给状态变量selectedName,该值将在导航到About页面时显示.

当我给出超时内部函数调用点击时,它导航到新页面并且在某个时间状态得到更新后导致显示以前的名称,直到状态用新名称更新.

有没有办法只有在onClick函数中的代码执行后才能导航到新路由.

您可以[这里]获取整个代码.(https://github.com/pushkalb123/basic-react-router/blob/master/src/App.js)

reactjs react-router

11
推荐指数
1
解决办法
2万
查看次数

异步函数中的event.preventDefault

是否可以在异步函数中使用event.preventDefault?

我不确定因为必须同步调用event.preventDefault并且异步函数返回promises.

self.oncontextmenu = async function(event) {
 event.preventDefault()
 //await whatever
}
Run Code Online (Sandbox Code Playgroud)

javascript async-await

4
推荐指数
1
解决办法
1669
查看次数