解决react中static定义的props获取不到history跳不了路由

如果不用上边的constructor模式
而是用静态属性定义的props
会在this.props里获取不到history 用不了this.props.history.push('/login)这样的方法跳路由

import React, { Component } from 'react';
import { withRouter } from "react-router-dom";
class Test extends Component {
    // constructor(props) {
    //     super(props);
    //     this.state = {  };
    // }

    /**
     * 如果不用上边的constructor模式
     * 而是用静态属性定义的props
     * 会在this.props里获取不到history 用不了this.props.history.push('/login)这样的方法跳路由
     * 
     * 
     * 解决方案:第一步
     *  使用 react-router-dom里的withRouter
     *  抛路由  withRouter(Test)
     *  这样就可以获取到props里的全部属性
     */
    static defaultProps={
        data:[1,2,3]
    }
    render() {
        return (
            <>

            
        );
    }
}

// export default Test;

//  解决方案:第二步
export default withRouter(Test)

原创 divcssjs

你可能感兴趣的:(解决react中static定义的props获取不到history跳不了路由)