如何从另一个组件范围内的组件中的 useState 声明变量中检索内容

问题描述

我想在另一个组件的范围内获取投资变量...

我已经编写了下面的代码,这很好,但是由于我已经导出了 InvestmentsList 函数,我如何才能获得这个常量投资?如何在不求助于 react-redux 的 useSelector() 的情况下做到这一点?

import React,{ useEffect,useState } from 'react';
import {
  Card,CardBody,CardHeader,CardTitle,Col,Row,Table} from 'reactstrap';
import moment from 'moment';

const InvestmentsList = () => {
  const [investment,setInvestment] = useState([]);
 async function fetchInvestments() {
    const response = await fetch('http://localhost:3000/products');
    const investments = await response.json();
    // waits until the request completes...
    setInvestment(investments);
  }

  useEffect(() => {
    fetchInvestments();
  },[]);

  return (
    <>{/* ...Returns something */}</>)
export default InvestmentsList;

解决方法

您无法访问其他组件的数据。

如果两个组件相距不远,您也可以将数据存储在父组件中,并为两个组件提供“投资”作为道具。

此外,Redux、React Context API 或 RecoilJS 将允许您将变量“投资”的数据存储在组件之外的某处。