簡體   English   中英

OnClick事件處理程序重定向到reactjs中?

[英]OnClick event handler redirect to in reactjs?

我正在閱讀很多東西,並試圖消化如何使用withRouter和所有設備進行重定向。 但是我在某個地方讀到,應該將onClick頁面重定向到指定的鏈接。 另一件事是在react-router最新版本history.push()無法正常工作,然后如何將其與react-router的最新版本一起使用。 我也閱讀了有關堆棧溢出的問題,但沒有給出任何具體的解決方案。

這是基本的簡單代碼,但也無法獲取官方文檔。

如果我有表單,並且應該將提交按鈕頁面上的頁面重定向到鏈接,則嘗試使用history.push(),但由於官方文檔顯示它不起作用。 我該如何實現?

這是代碼:

import React,{Component} from "react";
import {BrowserRouter as Router, Link, Switch, Route} from "react-router-dom";
class App extends Component {
  constructor(props){
    super(props);

    this.state = {
      firstName:'',
    };
  }
  inputData = event => {
    this.setState({
      [event.target.name]:event.target.value
    });
  }

  render(){
    return(
      <div>
        <form>
          firstName
          <input type="text" name="firstName" onChange={this.inputData}/>
          <button type="submit" onClick={}></button>
        </form>
      </div>
    );
  }
}
export default App;

我應該在點擊事件中寫些什么,它將使我重定向到新頁面?

對於簡單的答案,您可以使用react-router中的Link組件代替按鈕。

<span className="input-group-btn">
  <Link to="/register" />Click to Register</Link>
</span>

如果您使用react-router v2.8.1,請嘗試實施路由器重定向。

import { Router } from 'react-router';

export default class Foo extends Component {

  static get contextTypes() {
    return {
      router: React.PropTypes.object.isRequired,
    };
  }

  handleClick() {
    this.context.router.push('/some-path');
  }
}

希望以上兩種選擇都能解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM