小编WD1*_*WD1的帖子

使用React Router v4的React Hooks-如何重定向到另一条路由?

我有一个简单的react hooks应用程序-Todos列表-带有react router v4

在待办事项列表上,单击待办事项时,我需要:

  1. 在上下文中调度当前待办事项
  2. 重定向到另一条路线(从/ todos到/ todos /:id)

在以前的基于React Class的实现中,我可以使用this.context.history.push重定向到另一条路由。

我如何将React Hooks与React Router v4结合使用来处理(在下面的代码中,请参见函数editRow()中的注释)?

代码如下:

===== index.js =====

import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter} from "react-router-dom"

import App from './App';

ReactDOM.render(
    <BrowserRouter>
        <App />
    </BrowserRouter>, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)

===== main.js =====

import React from 'react'
import { Switch, Route } from 'react-router-dom'
import TodosList from './todoslist'
import TodosEdit from './todosedit'

const Main = () => (
  <main>
    <Switch>
      <Route exact path="/todos" component={TodosList}/>
      <Route exact path="/todos/:id" …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router react-router-v4 react-hooks

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