React JS Como passar dados entre páginas no Hook (useEffect)
Aug 21 2020
Estou tentando passar um objeto de dados para outra página, mas não consigo buscar os dados na segunda página. o código abaixo é que estou usando
A primeira página passa os dados em LINK
<Link to={{ pathname: `${path}/users/${organization.id}`,
data: organization
}}> <img src={config.s3Bucket + "/" + organization.logo} />
</Link >
Aqui estou passando o objeto no parâmetro 'data'
Segunda página
import React, { useState, useEffect } from 'react';
function UserList({ history, match }) {
const { path } = match;
const { id } = match.params;
const [organization, setOrganization] = useState(null);
// const { data } = this.props.location
useEffect(() => {
// console.log(location.data);
}, []); } export { UserList };
Tentei 'location.data' e 'this.props.location', mas não consigo buscar os dados, por favor me ajude a resolver este problema.
Respostas
5 spycbanda Aug 21 2020 at 17:42
Você pode fazer assim
<Link to={{ pathname: `${path}/users/${organization.id}`, state: organization}}>
<img src={config.s3Bucket + "/" + organization.logo} />
</Link >
e na segunda página
import React, { useState, useEffect } from 'react';
import {useLocation} from 'react-router-dom';
function UserList({ history, match }) {
const { path } = match;
const { id } = match.params;
const [organization, setOrganization] = useState(null);
const { state } = useLocation();
useEffect(() => {
console.log(state);
}, []);
}
export { UserList };
MA2WEB Aug 21 2020 at 17:48
usar com roteador
import { withRouter } from "react-router-dom"
export default withRouter(ComponentName)
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas