相关疑难解决方法(0)

使用反应路由器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万
查看次数

我可以快速点击在Cordova中运行的ReactJS

fastclick是否适用于ReactJS的事件系统?在通过Cordova进入iOS或Android时似乎没有采取任何措施.如果没有,是否有另一种获得相同结果的方法.我的应用程序没有双击功能,所以如果可能的话,我想全面消除这种延迟......

cordova reactjs fastclick.js

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

无法读取未定义的属性“推送”以获取反应使用历史记录

我对 React 非常陌生,第一次尝试通过将其推送到历史记录来实现到新页面导航,但现在我在这个错误上Cannot read property 'push' of undefined for react use history停留了几个小时,我认为我需要一些帮助或指导。

这是我的小型 mvp 组件(我正在使用 Hooks):

import React, {useEffect, useState} from 'react';
import {BrowserRouter as Router, Route, Switch, useHistory} from "react-router-dom";
import Report from "./components/Report";

function App() {

let history = useHistory();

function handleClick() {
    history.push("/report");
}

return (
    <Router>
        <Route path="/report" component={Report}/>
        <div>
            <button onClick={handleClick}>Click me</button>
        </div>

    </Router>
);
}

export default App
Run Code Online (Sandbox Code Playgroud)

import React from "react";
import {withRouter} from "react-router-dom";

const …
Run Code Online (Sandbox Code Playgroud)

reactjs react-router react-hooks

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

如何在 React 中执行返回功能

我正在使用react-router v.4,我想执行一些返回功能。

我当前的代码如下所示:

<HashRouter>
       <Switch>
            <Route exact path='/' component={Main}/>
            <Route path='/secondview' component={SecondView}/>
            <Route path='/traineeships' render={()=>(<Traineeship rootState={this.state} setRootState={this.setState.bind(this)} />)}/>
            <Route path='/information-filter' render={()=>(<InformationFilter rootState={this.state} setRootState={this.setState.bind(this)} />)}/>
            <Route path='/find-work' render={()=>(<FindWork rootState={this.state} setRootState={this.setState.bind(this)} />)}/>
            <Route path='/information-job' render={()=>(<InformationJob rootState={this.state} setRootState={this.setState.bind(this)} />)}/>
            <Redirect from='*' to='/' />
       </Switch>
Run Code Online (Sandbox Code Playgroud)

this.props.history.go(-1)在其他组件上尝试了几个选项,但我遇到了未定义的错误。

任何人都知道如何在我的情况下执行返回功能?

javascript reactjs react-native react-router-v4

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

在React中提交后重定向

我试图在我的应用程序中按下“提交”按钮后重定向用户,但是重定向从未发生。提交按钮后,我要通过axios将数据发送到API,然后要重定向。这是通过在构造函数中首先将重定向状态设置为false来完成的,在发送了axios调用之后,我试图将其状态设置为true,然后如果该值为true,则有条件地呈现一个React Router重定向。

我已经确认Axios实际上将数据发送到后端。但是不知道为什么在将值设置为true后为什么不执行条件渲染。有任何想法吗?:)

我的代码:

import React from 'react';
import Button from '@material-ui/core/Button';
import CssBaseline from '@material-ui/core/CssBaseline';
import axios from 'axios';
import { Redirect } from 'react-router';

class confirmWithdraw extends React.Component {
  constructor() {
    super();
    this.state = {
      redirect: false
    };

    this.handleSubmit = this.handleSubmit.bind(this);
  }

  handleEvent = e => {
    this.setState({ [e.target.name]: e.target.value });
  };

  handleSubmit = e => {
    e.preventDefault();
    const amount = sessionStorage.getItem('amount');
    const serverCardNumber = sessionStorage.getItem('cardnumber');
    axios({
      method: 'post',
      url: '/api/whidrawal',
      data: {
        amount,
        serverCardNumber
      }
    }).then(() => …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router

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