是渲染道具也意味着组件包含功能

时间:2019-11-27 04:29:28

标签: javascript reactjs

我是新来的反应者,我从书中看到以下代码:

import { Query } from "react-apollo";


export class xxx extends Component {

   ...
   render() {
      return <Query query={getAll}>
             {
                 (xxx) => { ... }
             }
             </Query>
   }
}

所以Query组件的内容是一个函数,但是书的作者说:

它使用渲染道具功能来提供其功能

以下是我的问题:

Q1-我在这里很困惑,不是渲染道具应该像这样:

<CustomComponent render={this.customFunction} />

该功能不是查询组件的子级吗?

Q2-如果该函数是Query组件的子代,是否表示在幕后Query组件源代码内部,它将函数操作为:

this.props.children(xxx)

Q3-为什么设计要通过功能作为组件的子代?是不是通过props传递函数更好和一致:

<Query query={getAll} render={this.customFunction} />

0 个答案:

没有答案