![](/img/trans.png)
[英]React: How to pass State value to another component and use it to render a component
[英]How do i pass the properties of an object whose state is set in one component through a link and render them in another component in React
我有两个组件和一条路线。 我想传递 place 对象的属性,以便我可以在其他组件中呈现它们。 我有一个组件,它的位置设置为 state。 在那个组件中,我为每个单独的地方绘制了链接。 当我单击链接时,我希望能够访问包含有关该地点信息的单个页面。 出于某种原因,我根本无法访问该对象。 有任何想法吗 ?
import React, { useState, useEffect } from "react";
import axios from "axios";
import PlaceVisited from "./PlaceVisited";
import {
Link,
BrowserRouter as Router,
Route,
Redirect
} from "react-router-dom";
const UserPersonal = () => {
const [user, setUser] = useState([1]);
const [place, setPlace] = useState([
{ id: 6, placeVisited: "Kuaa Lumpur", country: "Malaysia", user_id: 1 },
{ id: 7, placeVisited: "Bangkok", country: "Thailand", user_id: 1 }
]);
return (
<div>
{place.map(place => (
<Places key={place.id} place={place} />
))}
</div>
);
};
const Places = ({ place }) => {
return (
<div>
City:
<Link
to={{
pathname: `/places/${place.id}`,
data: { place }
}}
>
{place.placeVisited}
</Link>
</div>
);
};
export default UserPersonal;
组件 2
import React, {useState, useEffect} from "react";
const PlaceVisited = (props) => {
`const [places, setPlaces] = useState('')`
useEffect(()=>{
setPlaces(props.place.placeVisited)
},[])
}
return (
<div>
<p>placevisited</p>
<h2>{places}</h2>
</div>
);
export default PlaceVisited
路由器
<Router>
<Route path="/places/:id" component={PlaceVisited} />
</Router>
如何使用 React Router 将数据传递给组件有两种选择。
请参阅有关如何解决此问题的博客文章: https : //tylermcginnis.com/react-router-pass-props-to-link/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.