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

如何像Formik一样通过children props实现父子组件数据传递?

实现类似Formik的父组件通过children传值逻辑

你需要让父组件把内部的value通过children props传递给子组件的someData,核心思路是把children当作函数调用,直接传入要传递的数据——这也是Formik这类组件的核心实现方式。

父组件使用方式

<Parent>
{(someData)=>(
  <>
   {console.log(someData)}
  </>
)}
</Parent>

原有父组件实现(存在问题)

const Parent =({children})=>{
const value='Pass to children';

  return ({children})
}

修正后的父组件实现

const Parent =({children})=>{
  const value='Pass to children';

  // 把children作为函数调用,传入要传递的value
  return children(value);
}

原理说明

这里的children不再是普通的React元素,而是一个接收参数的函数。父组件内部定义好要传递的数据后,直接调用这个函数并传入数据,子组件(也就是这个函数的返回值)就能通过参数someData拿到父组件传递的value了,运行后控制台会输出Pass to children。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 09:33:18