在pages下新增this.js文件并修改route/index.js如下
this.js
import React from 'react';export default class This extends React.Component{ constructor(){ super(); this.state = { value: '' }; this.changeValue1 = this.changeValue1.bind(this); } changeValue1(){ this.setState({ value: 'changeValue1' }); } changeValue2 = () => { this.setState({ value: 'changeValue2' }); }; changeValue3(){ this.setState({ value: 'changeValue3' }); } render(){ return () }}this1
this2
this3
{
this.state.value}
route/index.js
import React from 'react';import {Switch, Route} from "react-router-dom";import Home2 from '../pages/Home2';import OnePage from '../pages/OnePage';import TwoPage from '../pages/TwoPage';import This from '../pages/This';const Routers = ();export default Routers
第一种绑定this方式是bind(this)
第二种使用ES6的箭头函数
第三种方式好像和第一种一样?其实如果要加参数的话我更推荐第三种,因为:
this3
changeValue3(id){ this.setState({ value: 'changeValue3' }); this.props.history.push(`/twoPage/${id}`)}
添加参数id为666并补上上一篇提到的js带参数跳转路由的方法;