react-router 相关问题

React Router - 一个完整的React路由库,灵感来自Ember的路由系统

React router v6 中的replace: true 不会替换历史记录中的最后一个条目

以下代码不会替换历史堆栈中的最后一项: // 在某个组件内部 常量导航 = useNavigate() // 在钩子或点击处理程序内 导航('/someroute',{替换:...

回答 2 投票 0

React Router Dom useNavigate 导致整个应用程序重新加载/重新渲染,从而清除所有状态

当我想在按钮单击时执行编程式前进导航或编程式返回导航时,React Router Dom useNavigate() 会清除所有状态、redux 和上下文并恢复到初始状态...

回答 1 投票 0

如何使用 React Router 创建响应式主细节应用程序?

我在Github上为我的问题准备了一个简单的测试用例: 在 RouterLayout.jsx 中,媒体查询使 Outlet 在狭窄的屏幕上消失,正如您在动画屏幕截图中看到的那样,我在其中绘制了...

回答 2 投票 0

如何在 React 中渲染对象数组?

你能告诉我如何在react js中渲染列表吗? 我喜欢这个 https://plnkr.co/edit/X9Ov5roJtTSk9YhqYUdp?p=preview 首先类扩展了 React.Component { 构造函数(道具){ 超级...

回答 7 投票 0

React 路由配置:尽管 URL 更新正确,组件仍无法渲染

我的 React 应用程序遇到问题,尽管根据搜索查询正确更新了 URL,但 SearchResults 组件仍无法呈现数据。当我搜索问题时...

回答 1 投票 0

React 路由器加载程序行为

我目前正在深入研究React Router,并且我已经设置了我的路由结构,如下所示: const 路由器 = createBrowserRouter([ { 小路: ”/”, 加载器:rootLayoutLoder,...

回答 1 投票 0

登录后如何重定向到主页然后重新加载?

我的网页每次都需要重新加载以更新用户状态。 至于问题,在handleLogin函数中,页面应该重定向到主页('/')并刷新自身,以便用户状态...

回答 1 投票 0

当我想将数据从功能组件传递到类组件时出现错误 -React Typescript

我有一个名为 roleCategory.tsx (功能组件)的页面,我正在使用 Navigate 将名为 FromPage 的值传递到另一个名为 Home.tsx (类组件)的页面,这是我的代码: 角色凯特...

回答 1 投票 0

React Router 为文件资源管理器提供多个动态路由

我有一个使用 React Router 的 React 应用程序。我有一个文件资源管理器,用户可以在文件夹中创建文件夹。我想创建一个 url,用户可以通过该 url 直接跳转到该页面中...

回答 1 投票 0

使用 Node + OAuth2 设置多次渲染 React 组件

我有一个 React + Node 应用程序设置。节点服务器有一个名为“/auth/login”的 api,它调用外部授权服务器。我已成功重定向到我的客户端应用程序

回答 1 投票 0

没有路线匹配位置“/”,并且搜索栏、分页和过滤器不显示。 React.js

当我添加搜索栏逻辑、分页和过滤器时,我收到错误“没有与位置“/”匹配的路线”。我正在使用 Postman 来测试逻辑是否正确并且有效,...

回答 1 投票 0

react-router 中的 useSearchParams 默认值

useSearchParams 钩子允许我们传入 defaultInit 参数: 声明函数 useSearchParams( defaultInit?: URLSearchParamsInit ): [URLSearchParams, SetURLSearchParams]; 类型

回答 1 投票 0

使用下一个/导航检测客户端导航(下一个 13+)

简单的问题,我需要检测用户何时在应用程序上导航。 使用react/link 的 属性会发生路由更改。 我有一个上下文需要监听 o...

回答 1 投票 0

覆盖react-router-dom和useHistory钩子的jest.mock

我有一个使用 useHistory 挂钩的组件。 当我编写单元测试时,我模拟了react-route-dom模块,以便在正在使用的组件中正确模拟useHistory钩子

回答 2 投票 0

手动刷新或输入时,React-router 链接不起作用

我正在使用 React-router,当我单击链接按钮时它工作正常,但是当我刷新网页时它会显示一个空的白屏。并且也没有控制台警告,并返回 200...

回答 1 投票 0

在每个子路由重定向时调用父加载器函数

我的用例是 Router_configuration.js 从“react-router-dom”导入{createBrowserRouter,RouterProvider}; 从“./Product”导入产品,{ loader }; 从 &q... 导入 Route1

回答 1 投票 0

如何处理ReactJS中按钮点击的导航?

我正在实施一个新的应用程序。目前,我可以对链接进行导航,但无法对按钮单击导航进行导航。我已经检查了这篇文章并尝试使用 BrowserHistory 选项...

回答 5 投票 0

使用react-native-router-flux删除抽屉页面的后退按钮

我一直在尝试创建一个应用程序来学习 React Native,它有一个登录界面,在成功验证后,用户将被重定向到带有导航抽屉的主页 - 标准...

回答 4 投票 0

React-router-dom 的 NavLink/Link 不起作用(黑屏)

大家好,我刚开始使用 React 时遇到了这个问题,这是我的导航栏组件: 从“react-router-dom”导入{BrowserRouter as NavLink}; 常量导航栏 = () => { ...

回答 8 投票 0

如何通过插座上下文传递道具并从子组件内的 useOutletContext() 检索道具

我尝试在插座react-dom-router组件内使用上下文,并通过插座子组件内的useOutletContext()检索道具,如下所示 tsx // 父组件内部 我尝试在 Outlet React-dom-router 组件中使用上下文,并通过 Outlet 子组件中的 useOutletContext() 检索道具,如下所示 tsx //父组件内部 ` tsx //inside outlet children components: const { purchaseData, setPurchaseData, catsData, setCatsData, isLoading, setIsLoading, affection, setAffection, affectionColor, setAffectionColor, setHeaderBackgroundColor, } = useOutletContext(); ` 问题在于,如果父母和孩子的上下文模式不匹配。尽管检索到的道具具有相同的名称,但它们并不匹配。我尝试 console.log(useOutletContext() ,结果发现无法识别父 props 中的名称)。因此,在子组件中检索 props 时完全基于提供和检索的 props 的顺序。 有没有办法解决这个问题或根据名称而不是顺序检索上下文? 我尝试通过来自react-dom-router的outlet context和useOutletContext hook根据名称检索和传递props。我的期望是:数据根据名称进行匹配。发生了什么:数据不是根据名称匹配,而是根据顺序匹配。因此,如果传递的上下文和检索的上下文的顺序之间存在微小差异,应用程序就会崩溃。 您应该按照提供上下文值的方式使用上下文值。 如果使用数组: <Outlet context={[ purchaseData, setPurchaseData, catsData, setCatsData, isLoading, setIsLoading, affection, setAffection, affectionColor, setAffectionColor, setHeaderBackgroundColor ]} /> 那么消费者应该使用数组解构赋值来访问他们想要的值。顺序很重要,因为您正在访问数组元素 const [ purchaseData, setPurchaseData, catsData, setCatsData, isLoading, setIsLoading, affection, setAffection, affectionColor, setAffectionColor, setHeaderBackgroundColor ] = useOutletContext(); 或者如果您只想要一个子集,即仅 isLoading 和 setHeaderBackgroundColor: const [,,,, isLoading,,,,,, setHeaderBackgroundColor] = useOutletContext(); 使用对象会部分消耗这些值,因为它消除了顺序要求。只需使用对象解构赋值即可。 <Outlet context={{ purchaseData, setPurchaseData, catsData, setCatsData, isLoading, setIsLoading, affection, setAffection, affectionColor, setAffectionColor, setHeaderBackgroundColor }} /> const { setHeaderBackgroundColor, isLoading } = useOutletContext();

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.