javascript - 如何将数据从一个页面传递到另一个 React JS
问题描述
我是反应新手,我正在做一个项目。我有两个页面/组件。我在页面上获取用户的详细信息,并希望在另一个页面上显示数据。但我做不到。有人可以帮忙吗?
这是我的第一页Personal.js
import React from "react";
import { Form, Row, Col, Button } from "react-bootstrap";
import "bootstrap/dist/css/bootstrap.min.css";
// import bootstrap from "bootstrap";
import { Link } from "react-router-dom";
class Personal extends React.Component {
constructor(props) {
super(props);
this.state = {
name: "",
};
}
render() {
return (
<>
<h2 className="text-center my-4">Personal Information</h2>
<div expand="md" className="container my-4 ">
<Form >
<Row className="my-4">
<Col>
<Form.Label>First Name</Form.Label>
<Form.Control id="first_name" placeholder="First name" />
</Col>
</Row>
<Link to="/Final">
<Button
onClick={() =>
this.setState({
name: document.getElementById("first_name").value,})}
variant="outline-primary">{" "}Next</Button>{" "}
</Link>
</div>
</div>
</>
);
}
}
export default Personal;
这是我的第二页Final.js
import React from "react";
import { Link } from "react-router-dom";
const Final = (props) => {
return (
<>
<h2>Your Name{this.props.name}</h2>
</>
);
};
export default Final;
解决方案
这可能无法解决问题,但您的Final
组件是一个功能组件,它接受props
作为参数,因此this.props.name
您只需访问props.name
. 我也无法弄清楚{" "}
您渲染 Button 组件的引号是怎么回事?
在Personal
您在该组件的状态上设置名称值时,您需要在其中进行渲染Final
以便Personal
可以将该值向下传递,或者为它们提供一个公共源以从中读取该数据,例如一个Context
或一个公共父级(如<App>
零件)。
推荐阅读
- r - 如何在 r 中拟合指数回归?(又名改变基数)
- c++ - 鼠标单击活动窗口中的特定坐标
- silverstripe - 我可以在 Silverstripe 中管理与 Gridfield(或类似)的 has_one 关系吗?
- python - 查找一列中的值与除 NULL 值之外的另一列相同的所有事件
- bash - 如何首先在文件中添加具有特定模式的行?
- c# - 有没有办法解决这个错误“无法为数据集'Dataset1'创建数据读取器
- reactjs - ReactJS + Rsuite 3 如何包含深色主题文件?
- webpack - 代码拆分在异步导入中无法正常工作
- xcode - 导航栏上的蓝牙工作和不工作
- swift - 调用 TableViewCell 中的函数后变量变为 nil