如何通过在react chrome扩展程序中按按钮重定向到另一个组件?

茵宝

我在Rect中创建chrome扩展名。如何通过在react chrome扩展程序中按按钮重定向到另一个组件?

我如何才能从App组件(按按钮后)重定向ItemDetails组件?不使用条件(三元运算符)。

我发现了这样一篇文章:用React写的Chrome扩展中的路由

import { createMemoryHistory } from 'history'
const history = createMemoryHistory()

render() {
  let page = null
  switch (this.state.page) {
  case 'home':
    page = <Home />
    break
  case 'user':
    page = <User />
    break
  }
  return page
}

我不明白这一点this.state.page如果我要转到其他组件,该如何获取this.state.page如何以要进入的状态保存组件名称?

在这里编码

import React, { Component } from 'react';
import { render } from 'react-dom';
import axios from 'axios';


class ItemDetails extends Component {
  constructor(){
    super();
  }

  render() {

    return (  
      <div>
        <p>
            Description:vvvvvvvvvvv
        </p>
      </div>
    )
  }
}

class App extends React.Component {
  constructor() {
    super();

    this.state = {
      items: [
        {
          name: 'A',
          description: 'Hello'
        }
      ],
      form: {}
    };
  }

  render() {

    return (
      <div>
         <form action="" method="post" onSubmit={this.onSubmit}>

            <button type="submit" value="Submit" >Log in</button>
          </form>  
      </div>
    );
  }
}


render(<App />, document.getElementById('root'));
ravibagul91

您需要使用Routes重定向到其他组件。你可以像这样

import { BrowserRouter, Route, Switch } from "react-router-dom";


<BrowserRouter>
   <Switch>
      <Route exact path='/' component={Dashboard} />
      <Route exact path='/itemDetails' component={ItemDetails} />
   </Switch>
</BrowserRouter>

在您需要重定向按钮的组件中,您需要使用withRouter

import { withRouter } from 'react-router-dom';

class Dashboard extends React.Component {
  onSubmit = () => {
    this.props.history.push('/itemDetails');
  }
  render() {
    return (
      <div>
         <form onSubmit={this.onSubmit}>
            <button type="submit" >Log in</button>
          </form> 
      </div>
    );
  }
}

export default withRouter(Dashboard)

演示版

注意:请勿action="" method="post"在表单上使用

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何重定向到另一个网页?

如何使按钮将页面重定向到另一个页面?

React:重定向到另一个页面

如何停止html按钮自动重定向到另一个网页

如何在MVC中单击按钮重定向到另一个页面和特定的div

在React中重定向到另一个路由时如何传递状态/属性?

在Django中,如何使按钮单击重定向到另一个URL?

重定向到Angular 7中的另一个组件后如何发送消息?

按下按钮并成功重定向到另一个页面后,如何禁用导航栏链接?

如何在ReactJs中重定向到另一个类组件/页面

如何从链接重定向到另一个?

如何从一个应用程序中的视图重定向到另一个应用程序中的视图?

在React中将其重定向到另一个组件时,如何停止呈现先前的组件

如何通过使用网格视图中的图像按钮重定向到另一个页面?

如何重定向到另一个页面

在Alert Ionic Framework中按下“提交”按钮后,如何重定向到另一个模板?

如何使用angular在单个页面应用程序中通过单击按钮重定向到另一个HTML页面?

如何通过单击 iframe 中的按钮将用户重定向到另一个页面

如何通过在 react.js 中从该组件设置道具来重定向到另一个组件

如何使模态弹出窗口中的“X”按钮重定向到另一个站点

在检查 angular 8 中的条件后如何重定向到另一个组件?

如何重定向到 React 中的另一个视图

如何添加按钮或链接以重定向到树视图 odoo 12 中的另一个模型?

如何禁用导入到另一个组件的 React 中的按钮?

如何通过按下没有硒的按钮重定向到另一个页面?

如何将特定 URL 重定向到 NuxtJs 应用程序中的另一个 URL

如何重定向到另一个页面?

如何在 React 的 JS 类中重定向到另一个路由?

谷歌登录反应后如何重定向到另一个组件