在世界上如何在react-router中使用嵌套路由,特别是版本4.x?以下在以前的版本中效果很好…
<Route path='/stuff' component={Stuff}>
<Route path='/stuff/a' component={StuffA} />
</Route>
升级到4.x会引发以下警告…
警告:您不应在同一路径中使用
组件和 ;<路由子代>将被忽略
这到底是怎么回事?我已经搜索了几个小时的文档,但无法成功使嵌套路由正常工作。如何使用<Route>
组件 将其路由嵌套在react-router
v4中?我的简单示例如何转换为v4.x API遵从性以嵌套路由?
忘记您对React Router
<v4的了解。您通过逐字嵌套来嵌套路由<Routes>
。检查此示例。具体检查主题组件。您无需预先声明路线,而是在渲染组件时动态声明路线。
import React from 'react'
import {
BrowserRouter as Router,
Route,
Link
} from 'react-router-dom'
const BasicExample = () => (
<Router>
<div>
<ul>
<li><Link to="/">Home</Link></li>
<li><Link to="/about">About</Link></li>
<li><Link to="/topics">Topics</Link></li>
</ul>
<hr/>
<Route exact path="/" component={Home}/>
<Route path="/about" component={About}/>
<Route path="/topics" component={Topics}/>
</div>
</Router>
)
const Home = () => (
<div>
<h2>Home</h2>
</div>
)
const About = () => (
<div>
<h2>About</h2>
</div>
)
const Topics = ({ match }) => (
<div>
<h2>Topics</h2>
<ul>
<li>
<Link to={`${match.url}/rendering`}>
Rendering with React
</Link>
</li>
<li>
<Link to={`${match.url}/components`}>
Components
</Link>
</li>
<li>
<Link to={`${match.url}/props-v-state`}>
Props v. State
</Link>
</li>
</ul>
{/* NESTED ROUTES */}
<Route path={`${match.url}/:topicId`} component={Topic}/>
<Route exact path={match.url} render={() => (
<h3>Please select a topic.</h3>
)}/>
</div>
)
const Topic = ({ match }) => (
<div>
<h3>{match.params.topicId}</h3>
</div>
)
export default BasicExample
问题内容: 我的React组件有问题。我组件的嵌套子代似乎没有渲染。这是我的代码: 我在此文件的顶部有以下两行: 这是我的组件: 我努力了: 以完整的HTML标记调用组件(打开和关闭) 将组件嵌套在组件中(在index.jsx文件中) 我知道嵌套组件是可能的。我已经看到了。由于某种原因,它对我不起作用。 问题答案: 要允许组件包含子项并正确渲染它们,必须使用。这是传递到所有组件与孩子为道具,包含组
我的朋友们,我的项目有三节课 主类: 首先,当我在类中实例时,java使结构如下所示:structure 我的意思是,当我们在类中实例类时,java逐行读取类,例如: 因为中有3个变量,所以我们可以说,当我们实例类时,我们有5个变量。 例如,我们有字符串、int、int、int、int来表示。我的问题是为什么我们不能直接访问或或? 例如,对于initialize name,我们可以使用以下代码:,
问题内容: 我似乎在使用样式语法实例化嵌套类类型的空数组时遇到问题: 这是我误会的东西吗(早在我喝咖啡之前,但我已经查看了发行说明,并且我认为您应该能够引用这样的嵌套类)或Beta 7中的错误? 这可以作为一种解决方法: 问题答案: 这肯定看起来像是编译器中的错误,尤其是 允许 您实例化嵌套类的空数组就好了。它根本不适用于初始化程序语法。 我会提出一个错误。同时,对于遇到问题的任何人,都可以通过使
我正在尝试设置React组件中的状态,以便它在子组件的输入值发生变化时进行更改。我可以console.log和并获得预期的字符串,但是我不能编译这个函数: 我很困惑,因为我在我的。 我的getInitialState是:
问题内容: 如果html文件是本地文件(在我的C驱动器上),则可以使用,但是如果html文件在服务器上并且图像文件是本地文件,则无法使用。这是为什么? 任何可能的解决方法? 问题答案: 如果客户端可以请求本地文件系统文件,然后使用JavaScript找出其中的内容,则将是一个安全漏洞。 解决此问题的唯一方法是在浏览器中构建扩展。Firefox扩展和IE扩展可以访问本地资源。Chrome的限制更为严
问题内容: 我们都知道我们需要在React中绑定函数以使其起作用。我知道为什么我们需要绑定它。 但是我不确定为什么我们不需要绑定箭头功能。 示例:使用箭头功能(无需绑定) }; 现在,使用功能(需要绑定) }; 我不是在问为什么我们需要绑定功能。我只想知道为什么箭头功能不需要绑定。 谢谢。 问题答案: 仅仅因为arrow函数的上下文中没有以下内容: 这个 论点 超 新目标 所以,当你引用此箭头功能