一.props.params
    1
    class App extends React.Component {
    render() {
    return (

    )
    }
    }

    上面指定参数一个参数name
    使用:

    import {Link} from ‘react-router’;
    1.Link组件实现跳转:

    this.props.history.push(“/user/haha”);

    当页面跳转到UserPage页面之后,取出传过来的值:

    export default class UserPage extends React.Component{
    constructor(props){
    super(props);
    }
    render(){
    return(

    )
    }
    }
    上面的方法可以传递一个或多个值,但是每个值的类型都是字符串,没法传递一个对象,如果传递的话可以将json对象转换为字符串,然后传递过去,传递过去之后再将json字符串转换为对象将数据取出来
    如:定义路由:

    使用:
    var data = {id:3,name:sam,age:36};
    data = JSON.stringify(data);
    var path = /user/${data};
    1.用户
    2.this.props.history.push(path);
    获取数据:
    var data = JSON.parse(this.props.params.id);
    var {id,name,age} = data;
    通过这种方式跳转到UserPage页面时只能通过传递字符串来传递参数,那么是否有其他方法来优雅地直接传递对象而不仅仅是字符串呢?
    二.query And state
    query 和 state 方式都是不以明文在url 上进行传递 可以传递对象但是 经过刷新之后不能获得之前传递的参数值

    使用:

    var data = {id:3,name:sam,age:36};
    var path = {
    pathname:’/user’,
    query:data,
    }

    1.用户

    2.this.props.history.push(path);
    获取数据:

    var data = this.props.location.query;
    var {id,name,age} = data;
    state

    使用:
    var data = {id:3,name:sam,age:36};
    var path = {
    pathname:’/user’,
    state:data,
    }
    1.用户
    2.this.props.history.push(path);
    获取数据:

    var data = this.props.location.state;
    var {id,name,age} = data;