reactjs - 和有什么区别和{我的组件}?
问题描述
我已经看到了两种在 React 中定义路由的方法:
<Route path="/" component={MyComponent} />
谁能
<Route path="/">{MyComponent}<Route />
解释一下两者之间的区别?
解决方案
您不应该真正使用:
<Route path="/">{MyComponent}<Route />
变体。只有当组件是 Function 组件时它才会起作用(如果你尝试放置一个类组件,你会得到一个错误),并且只有当组件内部没有钩子时才有效。路由类型定义指出,在 props.children 中,它接收一个渲染函数,该函数根据路由道具(历史记录、匹配参数……)返回一个 React.ReactNode,或者直接返回一个 React.ReactNode。所以你真的应该像这样使用它:
<Route path="/"><MyComponent /><Route />
或者,如果您的组件需要路由道具(这与 相同):
<Route path="/">{(props) => <MyComponent {...props} />}<Route />
希望这可以帮助。
推荐阅读
- javascript - 任何人都可以解释语法
- python - pandas DataFrame:重复 ID 块内的聚合值
- sql - 求和 REGEXP_SUBSTR 结果 ORA-01722: 无效数字错误
- python - Alembic 自动生成不检测具有混合大小写名称的现有表
- python - 不同版本python之间简单计算的不同结果
- java - Java递归列出特定模式目录中的文件
- c# - 有没有办法通过在c#中单击按钮来传递值
- assert - 如何获取带条件返回的结果并断言正确的值
- angular - 如何使用 matDialogClose 而不是父对话框关闭子/嵌套对话框
- coq - mathcomp/ssreflect 是否支持经典逻辑