首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不呈现父组件的情况下设置子组件?

如何在不呈现父组件的情况下设置子组件?
EN

Stack Overflow用户
提问于 2019-06-08 17:50:54
回答 1查看 234关注 0票数 2

我的父组件检索列表并将其膨胀为表。

我希望行单击cb (onRowClick)来使用来自父组件支持/状态的一些数据填充另一个组件。

我知道这可以用redux来完成。有没有另一种方法可以简单地设置子组件而不呈现它,然后在单击cb上设置它的道具?

单击cb当前如下所示:

代码语言:javascript
运行
复制
onRowClick={(event) => {
    return <ChildComponent data={props.data.data[event.index]} />
  }}

这不调用ChildComponent render函数,因为组件没有连接。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-08 18:28:31

如果不想使用redux,可以使用简单的道具传递一个设置状态的函数,并将状态数据传递给其他组件。

代码语言:javascript
运行
复制
const App = () => {
  const [apiData, setApiData] = useState([]);
  useEffect(() => {
    // fetch api here
    setApiData();
  })
  const [data, setData] = useState();
  return (
    <>
    <Component1 tableData={apiData} onRowClick={setdata} />
    <ChildComponent data={data}/>
    </>
  );
}

如果这两个组件在树中相距很远,那么您可以使用react上下文在它们之间传递数据。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56508837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档