首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >React路由器:导航()从一个屏幕到另一个屏幕不传递状态/参数

React路由器:导航()从一个屏幕到另一个屏幕不传递状态/参数
EN

Stack Overflow用户
提问于 2022-07-07 02:31:33
回答 2查看 463关注 0票数 0

作为一个非常新的反应,我正面临一个问题,导航之间的两个组件。

我的应用程序如下: App.js:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <div className="App">

      <AuthProvider>
        <ThemeProvider theme={theme}>
          <CssBaseline />
          <CartProvider>
            <SiteHeader/>

            <div>
              <Routes>
                {getRoutes(routes)}
                <Route path="/auth" element={<AuthPage />} />
                <Route path="/cart" element={<CartPage />} />
                <Route path="/search_results" element={<SearchResultPage />} />
                <Route exact path="/_healthz" element={<HealthPage />} />
                <Route path="/orders" element={<OrderPage />} />
                <Route path="/category/:id" element={<CategoryPage />} />
                <Route path="/product/:id" element={<ProductPage />} />
                <Route path="/recipe/:id" element={<RecipePage />} />
                <Route path="/" element={<HomePage />} />
              </Routes>
            </div>

          </CartProvider>
        </ThemeProvider>
      </AuthProvider>

    </div>

如您所见,每个页面上都有SiteHeader组件。在这个SiteHeader组件上,我有一个搜索字段,虽然导航本身是工作的(SearchResultPage正在显示),但触发一个导航()到SearchResultPage,传递给导航()的参数不会被传播:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  const search = () => {
    console.log("Calling search =>" + searchTerm);
    navigate("/search_results",{ state: { searchText: searchTerm }});
  }

在SearchResultPage的代码部分下面:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export default function SearchResultPage(props) {
  console.log(props);
  let searchText = props.location.searchText

我不明白为什么道具是空的,虽然我正确地填充了导航(路径,状态)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-07 02:41:29

通过元素支柱呈现的react-router-dom v6路由组件不接收线路道具

通过传递以下状态值,可以使用钩子获取要导航到该页面的状态:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const location = useLocation();
const searchText = location?.state?.searchText;

要获得state,需要访问props.location.state,如果使用v5或更低版本,则需要访问后续的状态属性。

票数 1
EN

Stack Overflow用户

发布于 2022-07-07 02:42:31

更改这一行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let searchText = props.location.searchText

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let searchText = props.location.state.searchText
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72896252

复制
相关文章
[1159]adb判断手机屏幕状态并点亮屏幕
参考:https://www.cnblogs.com/Kirito-Asuna-Yoyi/p/Python-ADB1.html https://blog.csdn.net/weixin_40895135/article/details/121487532 https://wenku.baidu.com/view/60353365e75c3b3567ec102de2bd960590c6d9db.html
周小董
2022/09/26
1.9K0
屏幕硬件参数选取
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106734.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/30
6570
React-Router 5.0 制作导航栏+页面参数传递
使用React构建SPA应用(单页面应用),要想实现页面间的跳转,首先想到的就是使用路由。在React中,常用的有两个包可以实现这个需求,那就是react-router和react-router-dom。本文主要针对react-router-dom进行说明。
憧憬博客
2020/07/21
3.5K0
react onclick传递参数
onClick={this.Mallclose.bind(this,e,index)}
windseek
2019/01/02
2.8K0
React 使用Context传递参数
在使用React时,很容易在自定义的React组件之间跟踪数据流。当监控一个组件时,可以监控到那些props被传递进入组件了,这非常有利于了解数据流在什么地方出现了问题。
随风溜达的向日葵
2018/08/09
1.6K0
『React Navigation 3x系列教程』之React Navigation 3x开发指南
随着React Navigation逐渐稳定,Navigator也被光荣的退休了。在React Native生态环境中需要一款可扩展且易于使用的导航组件,Navigator 自然胜任不了,这时React Native社区便孕育出了一个开源导航组件React Navigation。
CrazyCodeBoy
2018/12/27
4.3K0
将手机屏幕投屏到Kali
首先开启手机的开发者模式--USB试调 通过USB连接电脑后,终端执行命令scrcpy即可
逍遥子大表哥
2021/12/19
1.3K0
将手机屏幕投屏到Kali
Unity ugui屏幕适配与世界坐标到ugui屏幕坐标的转换
我们知道,如今的移动端设备分辨率五花八门,而开发过程中往往只取一种分辨率作为设计参考,例如采用1920*1080分辨率作为参考分辨率。
汐夜koshio
2020/03/19
2.9K0
mipiLCD屏幕参数_mipi接口液晶屏
主屏通过lt8911exb 将mipi信号转换成EDP信号输出,调试从大的方向上看,主要是两方面,一个是bootloader阶段的lt8911exb初始化,为了让现实过程更完整,需要在lk的display init之前就要将lt8911exb准备好.当lt8911exb准备好后,就可以当lt8911exb不存在,以平时的方式去调试一个屏幕。本次调试lt8911exb 的I2C接到SDM450的I2C3接口上,以下是调试步骤概要
全栈程序员站长
2022/11/19
1.4K0
mipiLCD屏幕参数_mipi接口液晶屏
kettle实现从一个cassandra同步到另一个cassandra
1、拖拽cassandra input、cassandra output控件到工作区,如下图所示:
johnhuster的分享
2022/03/28
7300
kettle实现从一个cassandra同步到另一个cassandra
联想笔记本电脑键盘亮了屏幕不亮_笔记本电脑开机键盘亮了屏幕不亮
联想笔记本电脑一直是笔记本电脑行业的大品牌,深受人们的喜爱。然而,它在使用时也会遇到很多问题,比如如何处理联想笔记本电脑开机键亮但是黑屏?联想笔记本电脑键盘失灵怎么办?因此,在购买联想笔记本之前,我们需要清楚地知道如何解决这个问题。
全栈程序员站长
2022/11/05
4.4K0
联想笔记本电脑键盘亮了屏幕不亮_笔记本电脑开机键盘亮了屏幕不亮
【Android 屏幕适配】屏幕适配基础概念 ① ( Android 与 iOS 屏幕宽高比种类 | 屏幕像素密度 DPI )
Android 屏幕尺寸类型如下 , 安卓设备的屏幕尺寸复杂性远远高于 iOS 设备 , Android 设备有两万种屏幕类型 , iOS 只需要适配五种分辨率即可 ;
韩曙亮
2023/03/30
6.6K0
【Android 屏幕适配】屏幕适配基础概念 ① ( Android 与 iOS 屏幕宽高比种类 | 屏幕像素密度 DPI )
『React Navigation 3x系列教程』之createStackNavigator开发指南
createStackNavigator 提供APP屏幕之间切换的能力,它是以栈的形式还管理屏幕之间的切换,新切换到的屏幕会放在栈的顶部。
CrazyCodeBoy
2018/12/28
5K0
React router 4.0之参数传递
在前一篇文章中说到了react router 4的路由如何配置,这篇文章说一下路由跳转的参数问题。路由跳转传参一种方式是在link标签上写参数,另一种方式是通过方法传递参数,下面依次说一下。
OECOM
2020/07/01
1.8K0
【Android 屏幕适配】屏幕适配基础概念 ④ ( 屏幕适配限定符 | 手机/平板电脑设备屏幕适配 )
Android 系统加载应用资源时 , 会根据当前运行应用的设备的相关属性 , 如 : 屏幕尺寸 / 屏幕像素密度 / 宽高比 / 屏幕方向 等属性 , 加载不同的屏幕适配限定符目录下的资源 ;
韩曙亮
2023/03/30
7.1K0
【Android 屏幕适配】屏幕适配基础概念 ④ ( 屏幕适配限定符 | 手机/平板电脑设备屏幕适配 )
WPF 底层 从手指触摸屏幕到笔迹在屏幕显示中间的步骤
整个 WPF 就是一个UI框架,一个 UI 框架最重要的是 交互 和 显示 部分,而书写这个功能将会完全贯穿 WPF 整个框架的功能。本文非入门级博客,本文包含了大量链接博客,阅读本文你将会了解从用户手指触摸屏幕到最终屏幕打印出笔迹的应用程序执行的步骤
林德熙
2020/08/25
1.2K0
java从一个目录拷贝文件到另一个目录下
** * 复制单个文件 * @param oldPath String 原文件路径 如:c:/fqf.txt * @param newPath String 复制后路径 如:f:/fqf.txt * @return boolean */ public void copyFile(String oldPath, String newPath) { try { int bytesum = 0; int byteread = 0; File oldfile = new File(oldPath
shirayner
2018/08/10
9980
点击加载更多

相似问题

React Native (React导航)使用将数据从一个屏幕传递到另一个屏幕

04

React Native -将道具从一个屏幕传递到另一个屏幕(使用tab导航器导航)

436

从一个屏幕导航到另一个屏幕

12

如何在wix react原生导航中将数据从一个屏幕传递到另一个屏幕

22

React导航-导航到另一个屏幕

110
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文