【发布时间】:2021-02-22 08:37:44
【问题描述】:
我正在尝试从一个组件访问另一个组件的状态
FetchCompo.js
// import React from "react";
import React, { useState, useEffect } from "react";
//more imports
const FetchUserItems= () => {
//some state
const [userFirstName, setUserFirstName] = useState("");
const [userItem, setUserItem] = useState([]);
let userName = //somecode
setUserFirstName(userName);
let userItemsData= userData.MyArray.items;
if (userItemsData.length === 0) {
const emptyItems = [
{
//obj data
},
];
setUserItem(emptyItems );
} else {
//someData
setUserItem(userItemsData);
}
return { userFirstName, userItem};
};
export default FetchCompo;
我想在另一个 Test.js 组件中使用 userFirstName, userItem。
// import React from "react";
import React, { useState, useEffect } from "react";
import FetchCompofrom "../myFunctions/FetchCompo";
//more imports
const Test = () => {
//Wanted to use userFirstName in Test.js component
const { userFirstName, userItem } = FetchCompofrom();
return (
<div>{userFirstName}</div>
)
}
当我尝试获取 Test.js 组件中的 userFirstName、userItem 时,会出现 Too many renders 的错误
寻找一种解决方案,我可以如何访问这些状态 userFirstName, userItem 从一个组件到另一个组件。
【问题讨论】:
-
请在您的问题中包含您的
useEffectss ...
标签: javascript html reactjs react-native