首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在react js中从一个页面发送到另一个页面的输入值

在React.js中,从一个页面发送到另一个页面的输入值可以通过以下几种方式实现:

  1. 使用React Router:React Router是React.js官方推荐的路由库,可以实现页面之间的导航和路由管理。通过React Router,可以在页面之间传递参数和数据。具体实现方式如下:
  • 在发送页面(发送输入值的页面)使用Link组件或history.push方法将输入值作为参数传递给目标页面。
  • 在目标页面中,使用props对象获取传递过来的参数,然后在页面中使用。

示例代码:

发送页面:

代码语言:jsx
复制

import { Link } from 'react-router-dom';

function SendingPage() {

代码语言:txt
复制
 const inputValue = 'example value';
代码语言:txt
复制
 return (
代码语言:txt
复制
   <Link to={{ pathname: '/target', state: { inputValue } }}>
代码语言:txt
复制
     Go to Target Page
代码语言:txt
复制
   </Link>
代码语言:txt
复制
 );

}

代码语言:txt
复制

目标页面:

代码语言:jsx
复制

function TargetPage(props) {

代码语言:txt
复制
 const { inputValue } = props.location.state;
代码语言:txt
复制
 return <div>{inputValue}</div>;

}

代码语言:txt
复制
  1. 使用状态管理库(如Redux):状态管理库可以帮助在React.js应用程序中管理全局状态,包括页面之间的数据传递。通过在发送页面将输入值存储在全局状态中,然后在目标页面中获取该值,可以实现从一个页面发送到另一个页面的输入值传递。

示例代码:

发送页面:

代码语言:jsx
复制

import { useDispatch } from 'react-redux';

import { setInputValue } from './actions';

function SendingPage() {

代码语言:txt
复制
 const dispatch = useDispatch();
代码语言:txt
复制
 const inputValue = 'example value';
代码语言:txt
复制
 const handleClick = () => {
代码语言:txt
复制
   dispatch(setInputValue(inputValue));
代码语言:txt
复制
 };
代码语言:txt
复制
 return (
代码语言:txt
复制
   <button onClick={handleClick}>Go to Target Page</button>
代码语言:txt
复制
 );

}

代码语言:txt
复制

目标页面:

代码语言:jsx
复制

import { useSelector } from 'react-redux';

function TargetPage() {

代码语言:txt
复制
 const inputValue = useSelector(state => state.inputValue);
代码语言:txt
复制
 return <div>{inputValue}</div>;

}

代码语言:txt
复制
  1. 使用URL参数:可以通过URL参数在页面之间传递输入值。在发送页面将输入值作为URL参数拼接到目标页面的URL中,然后在目标页面中解析URL参数获取输入值。

示例代码:

发送页面:

代码语言:jsx
复制

import { useHistory } from 'react-router-dom';

function SendingPage() {

代码语言:txt
复制
 const history = useHistory();
代码语言:txt
复制
 const inputValue = 'example value';
代码语言:txt
复制
 const handleClick = () => {
代码语言:txt
复制
   history.push(`/target?inputValue=${inputValue}`);
代码语言:txt
复制
 };
代码语言:txt
复制
 return (
代码语言:txt
复制
   <button onClick={handleClick}>Go to Target Page</button>
代码语言:txt
复制
 );

}

代码语言:txt
复制

目标页面:

代码语言:jsx
复制

import { useLocation } from 'react-router-dom';

function TargetPage() {

代码语言:txt
复制
 const location = useLocation();
代码语言:txt
复制
 const searchParams = new URLSearchParams(location.search);
代码语言:txt
复制
 const inputValue = searchParams.get('inputValue');
代码语言:txt
复制
 return <div>{inputValue}</div>;

}

代码语言:txt
复制

以上是在React.js中从一个页面发送到另一个页面的输入值的几种实现方式。具体选择哪种方式取决于项目需求和开发团队的偏好。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Web 应用开发进化论

    如果 SPA 仅从 Web 服务器发送一请求,当用户从一页面导航到同一域中的另一个页面(例如 conardli.top/about 到 conardli.top/home)而不请求另一个 HTML...加载完所有文件后,用户可以从一页面导航到另一个页面而不会中断。但是,相比之下,首屏渲染和加载的时间会降低用户体验。...当导航到下一(例如 conardli.top/about)时,会向 Web 服务器发出另一个请求以请求该页面的部分 如果你回顾一下传统网站的工作方式,你会发现它与启用代码拆分的 SPA 非常相似。...这意味着理想情况下,从一页面导航到另一个页面然后返回初始页面的用户不应该触发对初始页面所需数据的第二次请求。相反,它应该已经通过状态管理缓存在客户端上了。... Next.js ,你使用 React 实现每个页面(例如 /about、/home)。当用户从一页面导航到另一个页面时,只有一小部分服务器端渲染的 React发送到浏览器。

    4.2K10

    React Router入门指南(包括Router Hooks)

    React是一用于构建用户界面的JavaScript库。我们还可以借助React Router将其扩展为构建多应用程序。这是一第三方库,可在我们的React应用程序启用路由。...App.js, import React from "react"; import ".... ) 然后,继续之前,我们先回答一重要问题:什么是路由? 什么是路由? 路由是向用户显示不同页面的能力。这意味着它可以通过输入URL或单击元素应用程序的不同部分之间移动。...重定向到另一个页面 React Router还有另一个名为Redirect的组件,正如您猜到的,它可以帮助我们将用户重定向到另一个页面。...Router是一了不起的库,它可以帮助我们从一页面转到一页面的应用程序(虽然它仍然是一页面),并且具有很高的可用性。

    12K20

    React路由

    路由基本介绍 现代的前端应用大多都是 SPA(单应用程序),也就是只有一 HTML 页面的应用程序。因为它的用户体验更好、对服务器的压力更小,所以更受欢迎。...为了有效的使用单个页面来管理原来多页面的功能,前端路由应运而生。...前端路由的功能:让用户从一视图(页面)导航到另一个视图(页面) 前端路由是一套映射规则,React,是 URL路径 与 组件 的对应关系 使用React路由简单来说,就是配置 路径和组件(配对)...组件 Switch组件,不管有多少路由规则匹配到了,都只会渲染第一匹配的组件 通过Switch组件非常容易的就能实现404错误页面的提示 <Route exact...编程式导航:通过 JS 代码来实现页面跳转 history 是 React 路由提供的,用于获取浏览器历史记录的相关信息 push(path):跳转到某个页面,参数 path 表示要跳转的路径 go(n

    2K20

    React 服务器组件:引领下一代 Web 开发潮流

    客户端渲染(CSR) 如果你已经开发领域有一段时间了,你会记得 React 曾是构建单应用(SPA)的首选库。...典型的 SPA ,当客户端发出请求时,服务器会发送一单一的 HTML 页面给浏览器(客户端)。这个 HTML 页面通常只包含一简单的 div 标签和一 JavaScript 文件的引用。...与发送一几乎为空并依赖客户端 JavaScript 构建页面的 HTML 文件不同,服务器负责渲染完整的 HTML。然后,这个完整生成的 HTML 文档直接被发送到浏览器。... )} ); } “use client” 指令 React 服务器组件的范式,有一点非常重要:默认情况下,Next.js 应用的每一组件都被视为服务器端组件...因为 UI 描述采用的是特殊的 JSON 格式而非 HTML,React 能够保持关键 UI 状态(如焦点或输入)不变的情况下更新 DOM。

    31610

    浏览器_知识点精讲

    文章list CSS重点概念精讲 JS_基础知识点精讲 网络通信_知识点精讲 JS_手写实现 前端工程化_知识点精讲 前端框架_React知识点精讲 React实战精讲(React_TS/API) Web...例如: 合成线程Compositor 图块工作线程Compositor Tile Worker 主线程 进程复用 ❝如果「从一页面打开了另一个页面」,而新页面和当前页面属于「同一站点」的话,那么新页面会...「复用」父页面的渲染进程。...页面信息提交: 当页面中所有的图层都被栅格化,并且所有的图块都被提交到合成线程Compositor,此时合成线程Compositor将这些信息连同输入数据(input data)一起打包,并发送到「GPU...页面显示: 当前页面的所有信息GPU中被处理,GPU会将页面信息传入到双缓存的后缓存区,以备下次垂直同步信号到达后,前后缓存区相互置换。然后,此时屏幕中就会显示想要显示的页面信息。

    80110

    为什么 RSC 才是正确答案?

    客户端渲染 (CSR)如果你已经开发游戏中工作了一段时间,你会知道 React 是创建单应用程序 (SPA) 的首选库。...这可能会延迟服务器对浏览器的响应时间,因为服务器必须先完成所有必要数据的收集,然后才能将页面的任何部分发送到客户端。...这三问题——必须加载整个页面的数据、加载整个页面的 JavaScript 以及水合整个页面——创建了一从服务器到客户端的全有或全无的瀑布问题,其中每个问题都必须在进行下一之前先解决。...此外,Next.js React 渲染每个 UI 单元时,以流式传输 RSC 有效负载。浏览器,Next.js处理流式的 React 响应。...由于 UI 描述是一种特殊的 JSON 格式而不是 HTML,因此 React 可以更新 DOM,同时保留关键的 UI 状态,例如焦点或输入。以上就是 Next.

    36710

    「译」React 服务器组件 (RSCs) 的深入分析

    SSR 的另一个缺点是,客户端 React 完成对页面的水合作用之前,页面是无响应的。 React 对它们进行水合作用之前,即在预期的事件监听器附加到组件之前,交互元素不能监听和“响应”用户互动。...渲染生命周期以下是 Next.js 处理页面内容的顺序:应用程序路由器将页面的 URL 与一服务器组件匹配,构建组件树,并指示服务器端的 React 渲染该服务器组件及其所有子组件。...渲染过程React 生成一“RSC 负载”。RSC 负载向 Next.js 通报页面的预期返回内容,以及 期间的备用内容。...挂起的组件我们从渲染生命周期中学到,当访问一页面时,Next.js 匹配该页面的 RSC 组件,并请求 React 以 HTML 渲染其子树。...然而,归根结底,页面访问会触发 Next.js 渲染尽可能多的 HTML,使用任何 Suspense 组件的后备,然后将其发送到浏览器。

    16510

    构建通用的 React 和 Node 应用

    这个 app 有两主要的视图: 一是首页,你可以选择运动员: ? 另一个是运动员页面,展示了他们的奖牌及其他信息: ?...当我们浏览器首次载入一页面(任意页面, 不需要是首页, 试试 这一) ,服务器提供了视图的所有 HTML 代码并且浏览器只需下载链接的资源(图像, 样式表及脚本): ?...我们将在路由的部分看到 React Router 如何在 Layout 组件嵌套另一个组件。...最后,我们将产生的 HTML 代码注入到我们之前编写的 index.ejs 模板,这样就可以得到发送到浏览器的 HTML 页面。...你会注意到这一次我们可以刷新每一并且服务器能够识别当前路由并呈现正确的页面。 小建议: 不要忘了输入随意的不存在的 URL 来检查 404 页面

    8.8K70

    学习 React Native for Android:React 基础

    本文将从一简单的例子开始,逐步深入 React 的编写细节。 React Native 主张用 React 的开发思维来编写 UI 层。...根目录下创建一新的文件夹 test , test 目录下新建页面文件 index.html 。 本文后面的大部分练习都只涉及对这个文件进行修改。...我们开发网页应用的时候,不再需要调用无趣的 Reacte.createElement 来创建页面元素,而可以写 HTML 页面一样完成页面的编写。 JSX 的取名含义应该就是 JS + XML 。...练习5:增加交互 到目前为止 Greeting 组件的 name 属性的都是代码事先写好的,程序运行的过程没法再改变。现在我们对这个例子做些修改,让它在运行时接受我们的输入,并生成问候语。...需要格外注意的一点是获取输入框的内容的方式。 我们前面已经说到,组件插入页面前其实是虚拟 DOM 的表示,因此,渲染成最终实际的 DOM 前,你不能通过直接访问组件内的元素来试图获取它的属性。

    9.2K20

    美团前端react面试题汇总

    2)更利于首屏渲染首屏的渲染是node发送过来的html字符串,并不依赖于js文件了,这就会使用户更快的看到页面的内容。...,不再是掺杂 action.js 或 component.js action摆脱thunk function: dispatch 的参数依然是⼀纯粹的 action (FSA),⽽不是充满 “...再对高阶组件进行一小小的总结:高阶组件 不是组件,是 一把某个组件转换成另一个组件的 函数高阶组件的主要作用是 代码复用高阶组件是 装饰器模式 React 的实现封装组件的原则封装原则1、单一原则...但在 React 中会有些不同,包含表单元素的组件将会在 state 追踪输入,并且每次调用回调函数时,如 onChange 会更新 state,重新渲染组件。...一输入表单元素,它的通过 React 的这种方式来控制,这样的元素就被称为"受控元素"。

    5.1K30

    腾讯新闻React同构直出优化实践

    它有2分支,一react分支,目前只是提供纯前端的boilerplate。另一个react-isomorphic,同时包括前端和后台的boilerplate。有什么问题可以给我提issue。...平时我们浏览腾讯新闻的时候,都会发现从列表进详情,或者从详情进入评论,都需要跳转,就像steamer-react,访问index.html一样。...plugin实质是定义global全局变量里的一函数,然后将它nodeUtilscontroller.jsrequire进来,就能达到保留原样的效果。...首次吐出内容之后,你会发现还不能马上进行交互,需要客户端再次执行一行Root.js面的代码,才能够将可交互的事件绑定。...你可能还会担心这么多页面的逻辑放在一js bundle会让js很大,如果js bundle膨胀到一定程度,你可以考虑使用webpack和react-router的特性进行拆包。 ? ?

    2.2K50

    React 18 如何提升应用性能

    . ---- 客户端渲染(CSR) 和服务端渲染(SSR) CSR ❝页面托管服务器只需要对页面的「访问请求响应」一如下的「空页面」 ❞ 页面留出一「用于填充渲染内容的视图节点」 (...有一文本输入框和一包含大量城市的列表,列表根据文本输入框当前的进行过滤。同步渲染React 会在每次键入时重新渲染 CitiesList 组件。...这是因为文本状态仍然同步更新,输入框使用该状态作为其「后台」,React 每次输入时开始渲染新的组件树。...要将一组件及其导入添加到 JavaScript 捆绑包,并将其发送到客户端,从而使其具有交互性,可以文件的顶部使用 use client 捆绑器指令。

    38330

    你的博客用不着什么JavaScript框架

    服务器将静态生成的 HTML 文档发送到用户的浏览器,然后浏览器开始渲染页面。...这里就有些不对劲——Gatsby 需要你以 React 组件的形式再加载一次页面完成多出来的这一步之前,所有需要 JavaScript 的元素(例如按钮、菜单、自定义输入)实际上都不能交互。...从网站 /Web 应用的大致区别来看,React 是用于构建 Web 应用的,这种应用需要有响应用户输入或实时获取数据的交互式 UI;而博客只是一网站而已。...它使用一 ARIA live region 来宣布页面的 title 或 h1,以对使用屏幕阅读器软件的用户提示页面跳转行为。...于是我转向了另一个选项: Eleventy 鼓励你按照自己的意愿构建网站。你可以使用自己最熟悉的技术,它只负责生成页面

    4.1K10

    为什么每个人都在谈论同构JavaScript 以及为什么它很重要

    从一开始,许多开发人员就反对这种用法,最近(此时为2016年)它一直出现在新闻,因为与其相竞争的流行语“Universal Javascript”已经出现(最著名的是Michael Jackson的帖子...这就是为什么你可能使用很多SPA——谷歌文档就是一很好的例子——或者甚至可能已经开发了一。SPA 的另一个功能是 HTML 客户端(即浏览器)上呈现和操作。...因此,您通常希望避免对同一页面使用不同的模板和逻辑。...同构JavaScript的另一个优点是数据模型可以浏览器和服务器之间共享,例如Meteor或Falcor。这最大限度地提高了浏览器和服务器之间的一致性。...当它编译为同构时,React 毫不费力地服务器上渲染,从而实现我们之前讨论的更快的首页加载,而后面的交互则由浏览器 React 启用。

    17610

    前端老牌框架衰退,IMVC(同构 MVC)成未来趋势?

    小范围的同构,例如原生的js 浏览器和Node 中代码并没有差异,只是DOM API 和 Node API 不同而已,这就是函数层面的同构,即代码片段相同。...其次第一次打开网页时不必等待JS 加载完成才能看到内容,页面的交互也能够得到即时响应,这就是速度上的优势。同构的运用使得服务端和客户端都使用同一套代码,有效的降低了维护成本。...同构是未来的趋势 早期客户端 JS 的作用就只是DOM 操作以及表单验证之类的事情,由服务端去实现业务逻辑、路由跳转、页面渲染等方面的事务。...要想实现同构,我们可以服务端构造一全局的navigator 对象,模拟客户端环境。也可以封装一 getUserAgent 函数,自行判断从何处取UserAgent 的。...如何处理 css 按需加载 问题根源:浏览器只 dom-ready 之前会等待 css 资源加载后再渲染页面 问题描述:当单跳转到另一个 url,css 资源还没加载完,页面显示成混乱布局 处理办法

    1.4K20
    领券