Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React Js:将道具传递到React路由器的链接组件错误_Javascript_Reactjs_React Router_React Props - Fatal编程技术网

Javascript React Js:将道具传递到React路由器的链接组件错误

Javascript React Js:将道具传递到React路由器的链接组件错误,javascript,reactjs,react-router,react-props,Javascript,Reactjs,React Router,React Props,我试图在成功获取数据后重定向页面,并且我成功重定向了页面,但当它进入重定向页面时,我在控制台中获得了类似[object,object]的数据,这是我的搜索页面和结果页面代码。我使用重定向重定向页面,当我使用这个console.logDon+this.props.location.state.movie时,我没有得到任何数据;在结果页面中,我在控制台中获得类似于[object,object]、[object,object]的数据 从React导入React,{Component}; 导入日期从./

我试图在成功获取数据后重定向页面,并且我成功重定向了页面,但当它进入重定向页面时,我在控制台中获得了类似[object,object]的数据,这是我的搜索页面和结果页面代码。我使用重定向重定向页面,当我使用这个console.logDon+this.props.location.state.movie时,我没有得到任何数据;在结果页面中,我在控制台中获得类似于[object,object]、[object,object]的数据

从React导入React,{Component}; 导入日期从./Date; 从react路由器导入{withRouter}; 导入/索引; 类DriverReport扩展组件{ 构造器{ 超级作物; 此.state={ 选择选项:[], 电影:[], 伊希登:是的 }; this.handleSubmit=this.handleSubmit.bindthis; this.handleChange=this.handleChange.bindthis; this.toggleHidden=this.toggleHidden.bindthis; } 切换隐藏{ 这是我的国家{ isHidden:!this.state.isHidden }; } 异步handleSubmite{ 让authToken=localStorage.getItemToken; 试一试{ 常量from=e.target.elements.from.value; 常数to=e.target.elements.to.value; 常量选择=[…e.target.elements.selectOptions.options].filter opt=>opt.selected ; const selectedValues=selections.mapopt=>opt.value; const selectedString=selectedValues.join,; e、 防止违约; const res=等待取数 `http://localhost:8000/api/1/deliveries/report/?date__lte=${to}&date\uu gte=${from}&user=${selectedString}`, { 方法:获取, 标题:{ 接受:application/json, 内容类型:application/json, 授权:Bearer+JSON.parseauthToken } } ; const movie=wait res.json; console.logmovie; 这是我的国家{ 电影 }; //this.props.history.push/driverreport; //这个。道具。历史。推{ //路径名:/driverreport, //声明:{ //电影:电影 // } };** }抓住e{ console.loge; } } handleChange=e=>{ 设target=e.target; 让name=target.name; //这里 让value=Array.fromtarget.selectedOptions,option=>option.value; 这是我的国家{ [名称]:值 }; }; 渲染{ 回来 {!this.state.hidden&&

司机报告

选择一个驱动程序 选择驱动程序 总分 动态 速度 节油 拉波特 {this.state.movie.length>0&& } } ; } } 使用RouterDriverReport导出默认值; 这里是另一个我想显示数据的文件

从React导入React,{Component}; 将react html表格中的ReactToExcel导入excel; 从../DriverReport导入DriverReport; 从.././Main导入配置; 从react路由器导入{withRouter}; 类DriverReport扩展组件{ 构造器{ 超级作物; 此.state={ }; } 渲染{ console.logDon+this.props.location.state.movie; 回来 结果在这里 ; } } 使用RouterDriverReportt导出默认值;
您需要传递字符串化对象

<Redirect
   to={{
         pathname: "/driverreport",
         state: { movie: JSON.stringify(this.state.movie) }
      }}
/>

由于您在控制台中得到了一个对象结果,我认为那里一切都很好。要测试应用程序,请执行以下操作:

第一步 只需在moviestate和test中传递字符串类型值,如moviename。 如果结果是可见的

步骤2

传递状态中设置的电影对象,然后像这样尝试控制台

console.log("Don: ",  this.props.location.state.movie);

我得到的错误是这样的TypeError:this.props.location.state在我执行以下操作时未定义`console.logDon+JSON.parsethis.props.location.state.movie;`这个在主页上@ravibagul91@VidhyaConstruction,检查您是否有此.state.movie中的数据。我添加了控制台的屏幕截图,并收到错误@@ravibagul91您的react路由器版本是什么?如果大于5,则可以使用路由器删除。谢谢,当我更改控制台格式@ravibagul91时,它起到了作用。您可以更改控制台格式并重试吗。它可以帮助:console.logDon+this.props.location.state.movie;到console.logDon:,this.props.location.state.movie;感谢它的工作时,我改变了控制台格式@Palashkantibachar欢迎你。快乐编码。
console.log("Don: ",  this.props.location.state.movie);