react中使用Link在不同路由之间进行参数传值

在项目中,遇到了点击获取数据并跳转页面的情况,刚开始是将数据放在reducer中,然后在新的页面中使用,但是页面刷新之后数据为空,也是挣扎了很久。后来在网上查找解决方法,发现使用Link在不同页面间参数传值。
具体实现如下:

  • 定义路由:
<Route path='/task' component={TaskDetail}/>
  • taskItem.js中传递数据
import React from 'react';
import {Link} from 'react-router-dom';
class TaskItem extends React.Component{

    render(){
        let data = this.props.task;
        let path = {
            pathname:'/task',
            state:data//要传递的数据
        };
        return (
            <div>
                <div className="item">
                    <div>
                        <Link to={path}><p style={{'fontSize': '20px'}}>{this.props.name}</p></Link>
                         //Link实现跳转,同时传递数据
                        <p>简介:{this.props.intro}</p>
                    </div>
                </div>
            </div>

        )
    }
}
  • taskDetail.js接收数据
import React from 'react';
class TaskDetail extends React.Component {
    render() {
        let data = this.props.location.state;  
        //data存放传递过来的参数
        let {task_id, task_name, task_maker, task_introduction, task_time, count} = data;
        //对象解构赋值
        return (
            <div>
                <div id="taskDetail">
                    <div className="author">
                        <img id="img" src="../images/photo.jpg"/>
                        <div className="name">
                            <a>创建人:{task_maker}</a>
                        </div>
                    </div>
                    <div>
                        <p style={{'fontSize': '20px'}}>任务名称:{task_name}</p>
                        <span>创建时间:{task_time}</span>
                        <span>参与人数:{count}</span>
                        <p>简介:{task_introduction}</p>
                        <button>修改</button>
                    </div>
                </div>
            </div>
        )
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,097评论 25 709
  • 吾友松说,我写的文章像屎,那我就从屎说起来吧。吾友松说过一段话,至今让我记忆犹新:“爱情像便便,水一冲就没了,...
    岚杉lanshan阅读 574评论 4 4
  • 小王认为,蜗牛是这个世界上最神奇的物种。它能屈能伸,长着四只眼睛,两只大眼两只小眼,自己就能完成大眼瞪小眼的动作,...
    芜菁阅读 235评论 0 0
  • 简介: 他是九天神诋,她却是魔教妖女。 只因幼时的一次相救,她便从此倾心于他。甚至放弃了自己尊崇无比的位子,屈尊于...
    卿玉颜阅读 536评论 0 0
  • “从来如此,便对吗?”这是我崇拜的文豪鲁迅说过的一句话。似乎我崇拜的偶像们往往都与“鲜肉横流”的时代格格不入。但他...
    蓝泪儿521阅读 473评论 4 9