reactjs - React 路由器是正确的,但不能按预期工作
问题描述
我有一个带有以下输入的 React 应用程序:
import React, { Component } from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import Start from './Portal/Membership/Anonymous/Start';
import Register from './Portal/Membership/Anonymous/Register';
import NoMatch from './Portal/Membership/Anonymous/NoMatch';
const App = () => (
<div className="App" style={{ height: "100vh" }}>
<Router>
<div>
<Switch>
<Route exact path="/" component={Start} />
<Route exact path="/Register" Component={Register} />
<Route component={NoMatch} />
</Switch>
</div>
</Router>
</div>
);
export default App;
只有路径/
有效,但如果我打开/Start
页面,甚至什么都不会呈现空NoMatch
。如果我导航到不正确的网址,NoMatch
将呈现。
/
如果我将默认组件更改为注册,注册组件将在位置呈现
解决方案
Component
我搜索了所有网络并阅读了所有 React Router 文档,但没有找到任何东西,直到我不小心复制并粘贴了一行路由器并发现和之间有区别component
!
我想知道为什么 react 不能识别Component
属性(大写)并且在没有,和定义c
时没有抛出异常!component
render
children
请记住,如果您编写诸如<SomeComponent someBooleanAttribute="true" />
React 之类的内容会向您发出消息警告,although true works here but you must write someBooleanAttribute={true} because someBooleanAttribute="false" will be recognized as true
但对于这个更重要的问题,不会向开发人员显示任何警告或错误!
推荐阅读
- reactjs - “是的”验证库无法在 TypeScript 中编译
- google-cloud-platform - AttributeError:“StreamExhausted”对象没有属性“消息”。流中的字节数不足;预计1265662718,
- java - 程序直接进入else语句
- node.js - 如何使用 express-oauth-server 进行身份验证?
- r - 如何跨多个列匹配列并在新列中返回匹配的 col_name
- newsletter - OC 3 给制造商的新信产品
- c# - 如何在 2 个不同的控制器中使用 Session
- glsl - glsl如何实现一种颜色变成某种颜色?
- python - 带有任意参数零的 execl
- java - Java Jakarta Mail 2.0.0 OAuth 2.0:仍然使用 PLAIN 身份验证