Javascript 为什么要将函数传递给react组件以获取数据而不是数据本身?

Javascript 为什么要将函数传递给react组件以获取数据而不是数据本身?,javascript,reactjs,typescript,react-native,flow,Javascript,Reactjs,Typescript,React Native,Flow,我有一个问题,可能很微妙(或不是) 为什么要将函数传递给react组件以获取数据而不是数据本身? 一个简单的例子是 <CompTest data={data} ...> vs const getData()=>data; getData()}…> 我想知道是否有一个技巧与反应数据拉它与懒惰。。。不确定..通常,您只需像中那样将数据作为道具发送下来,或者最好使用明确的道具,这样您就可以从组件使用的数据中知道哪些字段。但只要数据是不变的,这就是编程偏好 在极少数情况下,您需要使

我有一个问题,可能很微妙(或不是)

为什么要将函数传递给react组件以获取数据而不是数据本身? 一个简单的例子是

<CompTest data={data} ...> 

vs

const getData()=>data;
getData()}…>

我想知道是否有一个技巧与反应数据拉它与懒惰。。。不确定..

通常,您只需像
中那样将数据作为道具发送下来,或者最好使用明确的道具,这样您就可以从组件使用的数据中知道哪些字段。但只要数据是不变的,这就是编程偏好

在极少数情况下,您需要使用函数来检索数据


通常,您将使用函数将数据从子组件更新到父组件n:
其中
setData
是一个函数pf type
setData(data:DataType)=>void
(TypeScript表示DataType类型的参数,不返回任何内容)

如果您不想立即获取数据,如果您希望允许组件进行控制,那么传递函数而不是数据本身是有意义的。
const getData() => data;
<CompTest data={()=> getData()} ...>