javascript - 为什么我们必须指定与 React Router DOM 中的其他 props 不同的组件 prop?
问题描述
当我们在使用 render prop 时,为什么我们必须将组件 prop 指定为:
component: Component
所有其他道具都使用常规的解构语法:
exact
这是否特定于 React Router DOM,或者这通常是您在 React 中传递组件的方式?如果是这样,为什么我们必须使用这种语法?
解决方案
我相信这里的原因是因为 React Router 较少用作父组件,而更多用作重定向库。将您的组件插入到组件中会进行标准渲染,其中会注入查询字符串、历史记录和参数;然而,这不是唯一的选择。
<Route path={this.props.match.url} exact render={() =>
<Admin location={this.props.location} history={this.props.history}/>
}/>
Route 的目的不是应用样式、道具或通用父属性,而是使用注入的道具和路径条件专门渲染子级。
推荐阅读
- microsoft-graph-api - 抛出 C# 异常:mscorlib.dll 中的“Microsoft.Graph.Communications.Core.Exceptions.ServiceException”
- laravel - Laravel 与 2 个外键的多对多关系
- python - 如何在pygame中获取图像的中心坐标
- api - 惠普 ALM | REST API 错误 ALM-E10004:加载项目失败?
- flutter - Flutter - 以 Base64 格式处理多张照片的应用程序
- javascript - 错误 - 从 ReactJS 应用程序访问 Azure IOT Hub 时出现“被 CORS 策略阻止”
- powershell - Powershell 重命名文件,同时保持原始文件顺序
- ssl - 如何设置 Gatling 以使用每个虚拟用户的客户端证书?
- python - 程序输出与公式不符(概率问题)
- r - 使用 Google Cloud Scheduler 在 Cloud Run 上运行 Docker 容器时出现 404 错误