javascript - 为什么我应该在 React Route 中使用扩展运算符?
问题描述
所以我正在观看一个教程,其中教练在路线内使用 {...props} 。如果他已经传递了 user 和 getUser 道具,他为什么还要使用它?:
<Route exact path="/user/:login" render={props => (
<User {...props} getUser={this.getUser} user={user} />
)}
/>
顺便说一句,在传递这些道具的 User.js 中,他使用:this.props.getUser(this.props.match.params.login)。有没有可能与此有关?
解决方案
如果他已经传递了 user 和 getUser 道具,他为什么要使用它?
这样任何其他道具都会像,像foo
和一样通过bar
。
在传递这些道具的 User.js 中,他使用:this.props.getUser(this.props.match.params.login)。有没有可能与此有关?
不,正如你所说,他明确地提供了那个道具,而不是通过传播。通过在传播后这样做,他确保使用他的显式版本(无论你是否将 a 传递getUser
给容器的道具,它都不会被使用,因为他getUser
会覆盖它;与 相同user
)。
推荐阅读
- hydra-python - 传递多个配置组
- python - 如何读取多个 .csv 文件并分析数据?
- ruby - 在 WSL2 中为 VSCODE 配置 Rubocop 时出错
- java - Spring 多对多未保存在表单提交中
- kubernetes - 我什么时候在charts/目录中放置子图表,在Chart.yaml中放置依赖项,或者在Helm中放置requirements.yaml?
- swift - 带有协议泛型的初始化程序不起作用
- sql - 当插入/更新发生在同一个表中时触发更新特定列
- windows - 使用 PowerShell 创建启动 PowerShell 脚本的快捷方式
- c++ - 自定义“数字”类 - 可以代替“浮点”或其他内置类型工作吗?
- loops - 如何巩固这些循环