You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中如何通过Function as a Child Component实现组件向子函数返回变量

React 自定义组件实现类似 Route 向子元素传参的问题

希望大家能帮我解答这个疑问。我在使用React的Route组件时产生了这个想法,暂时没能自己想通实现方式。

React的<Route>组件看起来是正常渲染子元素,但同时还能返回match这类变量供子元素使用,示例如下:

<Route exact path="/">
  {({ match }) => (
    <div>
      {`${JSON.stringify(match)}`}
    </div>
  )}
</Route>

可以注意到match并没有在当前组件的任何位置声明,而是由Route组件返回,因此可以在子元素中直接访问。

如果我想在自己编写的组件中实现这个功能,应该怎么操作呢?

我之前尝试过如下写法:

const Test = (props: any): any => {
  return {
    testVariable: "test variable",
    render: (
      <>
        {props.children}
      </>
    ) 
  };
};

我预期的调用方式是这样的:

<Test>
  {({ testVariable }) => (
    <p>{testVariable}</p>
  )}
</Test>

但实际运行并没有达到我的预期效果。

补充:问题已经解决,感谢novonimo的回答,我了解到该功能的专业术语是Function as a Child Component (FaCC)。

内容的提问来源于stack exchange,提问作者Jordan Arldt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 18:54:02