reactjs - 传递道具(Vue / React)的正确方法是什么?分别传递对象或每个道具?
问题描述
我有以下情况,描述如下。什么会更正确?
在具有每个单独属性的变体中 - 我们似乎获胜,因为我们切断了从子组件更改道具的随机可能性,您可以安全地验证所有内容。
在第二种情况下,一切似乎都结构更整齐,但您需要为它编写额外的验证,并且有可能不小心从子组件中修改它。
// 1
<SolocatorHeader
titleText="Project Summary"
titleColor="#FFDBCD"
titleImg="/test.png"
descText="Some text"
descColor="#FFFFFF"
/>
// 2
<SolocatorHeader
:title="{
text: 'Project Summary',
color: 'FFDBCD',
img: '/test.png'
}"
:desc="{
text: 'Some text',
color: '#FFFFFF'
}"
/>
解决方案
为了尽量减少重新渲染,最好单独发送道具,这取决于其中一些道具是否会更频繁地更新。
如果你想分别给它们传递 props 但又不想单独写 props,你可以使用扩展符号:
<SolocatorHeader {..title} {...desc} />
推荐阅读
- php - phpSPO 库 - 未经授权的访问异常。需要图书馆基础知识的指导
- ios - 如何映射一个 Observable
到另一种类型的 Observable 在 RxSwift 中? - sql - 如何返回最近的值?
- c# - 强名称签名对此程序集无效
- flutter - 启动颤振应用程序时出错
- git - 如果其他分支已合并到主分支,如何将我的分支合并到主分支
- html - nodeJs运行时如何在浏览器中打开html文件
- typescript - 如何使用 ts 在 vue3 中将 ref 数据定义为类类型
- node.js - 本地 mongodb Node.js 服务器成功进行身份验证,然后在几秒钟后结束连接
- javascript - React Native / Redux - 获取字符串时响应返回为数组