javascript - React ES6 类转换不工作

标签 javascript reactjs react-router

类内

constructor(props, context) {
super(props, context);

someFn = () = {    
    this.context.router.transitionTo('google.com');
}

在组件底部

MyComponent.contextTypes = {
  router: React.PropTypes.func.isRequired
};

我不断收到错误警告:失败的上下文类型:所需的上下文路由器未在主页中指定。

当我单击按钮进行导航时,出现以下附加错误Uncaught TypeError:无法读取未定义的属性transitionTo

我什至尝试在构造函数中添加以下内容但无济于事

this.context = context

最佳答案

绝大多数应用程序不需要使用上下文。 (引用:https://reactjs.org/docs/context.html)

以下内容应该对您有帮助=>

import {Component} from 'react';
import PropTypes from 'prop-types';

class MyComponent extends Component {

  static contextTypes = {
    router: PropTypes.object
  };

  onFormSubmit() {
    this.context.router.push('/home');
  }

  render() {
    return (
      <form onSubmit={this.onFormSubmit.bind(this)}>
      </form>
    );
  }
}

关于javascript - React ES6 类转换不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32803462/

相关文章:

javascript - 如何从 firestore 两个集合中获取数据并将所有数据合并在一起

javascript - 在java spring中将文件上传到tomcat服务器时访问被拒绝

javascript - 如何将常规 JavaScript 合并到 ReactJS 应用程序中?

reactjs - 如何在 React 中预加载图像?

reactjs - 如果某个 Action 有 thunk 和 axios,我如何用 jest 测试该 Action ?

javascript - 将反向属性和反向类选择器与现有选择器相结合

javascript - OOP Jquery 由于闭包而丢失值

reactjs - 在 React 中,将获取的 Firebase 数据存储在本地或全局状态中?

reactjs - React Router 传递参数。如何?

javascript - 如何使用 Mobservable、React 以及可能的 React-Router 进行 url/view 路由?