相关疑难解决方法(0)

使用react路由器以编程方式导航

随着react-router我可以使用Link元素创建的原生处理反应路由器链接.

我看到内部调用this.context.transitionTo(...).

我想进行导航,但不是从链接,例如下拉选择.我怎么能在代码中这样做?什么是this.context

我看到了Navigationmixin,但是我可以不用mixin吗?

reactjs react-router

1251
推荐指数
34
解决办法
63万
查看次数

使用反应路由器V4以编程方式导航

我刚刚react-router从v3 更换为v4.
但我不知道如何以编程方式导航到一个成员函数Component.即在handleClick()功能中我想/path/some/where在处理一些数据后导航到.我曾经这样做过:

import { browserHistory } from 'react-router'
browserHistory.push('/path/some/where')
Run Code Online (Sandbox Code Playgroud)

但我在v4中找不到这样的接口.
如何使用v4导航?

ecmascript-6 reactjs react-router-v4

313
推荐指数
13
解决办法
22万
查看次数

如何在react-router v4上获取历史记录?

我有一些小问题从React-Router v3迁移到v4.在v3中我能够在任何地方执行此操作:

import { browserHistory } from 'react-router';
browserHistory.push('/some/path');
Run Code Online (Sandbox Code Playgroud)

我如何在第4版中实现这一目标.

我知道withRouter当你在Component中时,我可以使用,特别的,反应上下文或事件路由器道具.但事实并非如此.

我正在寻找v4 中NavigatingOutsideOfComponents的等价性

reactjs react-router

88
推荐指数
5
解决办法
9万
查看次数

使用React Router重定向页面的最佳方法是什么?

我是React Router的新手,了解到有很多方法可以重定向页面:

  1. 运用 browserHistory.push("/path")

    import { browserHistory } from 'react-router';
    //do something...
    browserHistory.push("/path");
    
    Run Code Online (Sandbox Code Playgroud)
  2. 运用 this.context.router.push("/path")

    class Foo extends React.Component {
        constructor(props, context) {
            super(props, context);
            //do something...
        }
        redirect() {
            this.context.router.push("/path")
        }
    }
    
    Foo.contextTypes = {
        router: React.PropTypes.object
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在React Router v4中,有this.context.history.push("/path")this.props.history.push("/path").详细信息:如何在React Router v4中推送到历史记录?

我对所有这些选项感到困惑,有没有最好的方法来重定向页面?

reactjs react-router redux

68
推荐指数
3
解决办法
11万
查看次数

动作redux后反应路由器重定向

我正在使用react-redux和标准的react-routing.我需要在明确的行动后重定向.

例如:我已经注册了几个步骤.行动结束后:

function registerStep1Success(object) {
    return {
        type: REGISTER_STEP1_SUCCESS,
        status: object.status
   };
}
Run Code Online (Sandbox Code Playgroud)

我希望他使用registrationStep2重定向到页面.怎么做?

ps在历史浏览器中,'/ registrationStep2'从未出现过.此页面仅在成功结果registrationStep1页面后出现.

reactjs react-router redux-framework redux

49
推荐指数
4
解决办法
7万
查看次数

使用react-router登录后自动重定向

我想在我的react/react-router/flux应用程序中建立一个Facebook登录.我在登录事件中注册了一个监听器,'/dashboard'如果他们已登录,则希望将用户重定向到.我该怎么做?location.push除了完全重新加载页面后,效果不佳.

reactjs reactjs-flux react-router

48
推荐指数
3
解决办法
7万
查看次数

Material-UI的Tabs与react路由器4集成?

新的反应转子语法使用该Link组件在路径上移动.但是如何与它结合materiaul-ui

就我而言,我使用制表符作为主导航系统,所以理论上我应该有这样的东西:

const TabLink = ({ onClick, href, isActive, label }) => 
  <Tab
    label={label}
    onActive={onClick}
  />



export default class NavBar extends React.Component {
  render () {
    return (
      <Tabs>
        <Link to="/">{params => <TabLink label="Home" {...params}/>}</Link>
        <Link to="/shop">{params => <TabLink label="shop" {...params}/>}</Link>
        <Link to="/gallery">{params => <TabLink label="gallery" {...params}/>}</Link>
      </Tabs>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

但是当它呈现时,material-ui会抛出一个错误,即孩子Tabs必须是一个Tab组件.有什么办法可以继续?如何管理选项卡的isActive道具?

提前致谢

material-ui react-router-v4

29
推荐指数
3
解决办法
1万
查看次数

react router - 登录后重定向

能否帮助我理解我可以使用最新版本的反应路由器(v1.1.0)的重定向机制.我想重定向到一个url取决于用户登录的成功或失败.我试图做以下事情首先使用创建历史记录.

let history = createBrowserHistory();
Run Code Online (Sandbox Code Playgroud)

然后尝试用推动状态

history.pushState(null, 'abc')
Run Code Online (Sandbox Code Playgroud)

什么都没发生.你能不能让我知道正确的转换方式.从我理解的文档transitionTo()中,最新版本中没有API.如果你能指出一个简单的工作实例,它会很棒.

提前致谢.

react-router

22
推荐指数
5
解决办法
6万
查看次数

'react-router'不包含名为'Link'的导出

我正在使用react-router@4.1.1

??? react-router@4.1.1
  ??? history@4.6.1
  ? ??? resolve-pathname@2.1.0
  ? ??? value-equal@0.2.1
  ??? warning@3.0.0
Run Code Online (Sandbox Code Playgroud)

连接react-router Link时,此消息将显示在开发中

./src/containers/FilterLink.js
37:4-8 'react-router' does not contain an export named 'Link'.
Run Code Online (Sandbox Code Playgroud)

这是导入代码:

import React from 'react';
import { Link } from 'react-router';
Run Code Online (Sandbox Code Playgroud)

顺便说一下,将版本更改为react-router@2.0.1似乎正在运行.
有人知道Link是从react-router中删除的吗?Link发生了什么?

如果没有,为什么我会收到此错误?

javascript reactjs react-router

22
推荐指数
1
解决办法
3万
查看次数

ReactJS Router V4 history.push无效

我已升级到React Router V4,现在正在努力使用该history.push方法.

我有一个index.js文件:

import React from "react";
import { render } from "react-dom";
import { BrowserRouter, Route } from 'react-router-dom';
import createBrowserHistory from 'history/createBrowserHistory';

const history = createBrowserHistory();

import { Main} from "./components/Main";
import { About } from "./components/About";
import { Cars} from "./components/Cars";


class App extends React.Component {

render() {
    return (
        <BrowserRouter history={history}>

            <div>
                <Route path={"/"} component={Main} />
                <Route path={"/cars"} component={Cars}/>
                <Route path={"/about"} component={About}/>
            </div>
        </BrowserRouter>
    )
  }
}

render(<App/>, window.document.getElementById("app"));
Run Code Online (Sandbox Code Playgroud)

然后我有另一个文件,在那里我添加了一个简单的返回到某个页面,如下所示:

import React from …
Run Code Online (Sandbox Code Playgroud)

reactjs react-router react-router-v4

18
推荐指数
3
解决办法
3万
查看次数