我有一个问题,这可能是微妙的(或不是)。为什么要将函数传递给react组件来获取数据,而不是数据本身?举个简短的例子
<CompTest data={data} ...>
vs
const getData() => data; <CompTest data={()=> getData()} ...>
我想知道是否有一个技巧与react数据拉它与懒惰...不确定..
s4n0splo1#
通常,您只需将数据作为props发送下来,就像在<CompTest data={data} />中一样,或者更好地使props显式化,这样您就可以知道组件使用数据中的哪些字段。但只要数据是不可变的,这就是编程偏好。在极少数情况下,您会希望使用函数来检索数据。通常,您将使用函数将数据从子组件更新到父组件n:<CompTest data={data} onDataChanged={setData} />,其中setData是setData(data:DataType)=>void类型的函数(TypeScript表示DataType类型的参数并不返回任何内容)
<CompTest data={data} />
<CompTest data={data} onDataChanged={setData} />
setData
setData(data:DataType)=>void
1条答案
按热度按时间s4n0splo1#
通常,您只需将数据作为props发送下来,就像在
<CompTest data={data} />
中一样,或者更好地使props显式化,这样您就可以知道组件使用数据中的哪些字段。但只要数据是不可变的,这就是编程偏好。在极少数情况下,您会希望使用函数来检索数据。
通常,您将使用函数将数据从子组件更新到父组件n:
<CompTest data={data} onDataChanged={setData} />
,其中setData
是setData(data:DataType)=>void
类型的函数(TypeScript表示DataType类型的参数并不返回任何内容)