首页 > 解决方案 > 使用 Component/Element 内的参数反应函数

问题描述

我刚刚使用了一个名为的库react-axios,其中以以下方式在组件内部提供了一个函数:

<Get url="/api/user" params={{id: "12345"}}>
{(parameters) => {
 //some callback with the parameters
}}
</Get>

由于我以前从未见过这种语法并且总是使用道具传递函数,所以我很好奇:

标签: javascriptreactjsjsxreact-component

解决方案


  • 这种类型的函数规范在 React 中是如何调用的?

您在问题中建议的模式称为渲染道具模式

  • 一个组件怎么可以这样实现?

一个非常基本的实现可能如下所示

    function Get(props) {
       const [params, setParams] = useState({}); 
       ...
       return (
        <div>{props.children(params)}</div>
       )
    }
  • 它也适用于功能组件吗?

是的,它可以为功能组件和类组件编写


推荐阅读