使用从父级传递的道具将路由器Navlink与另一个页面进行反应

马特·拉斯奇

我正在重新整理具有唯一“类型”的卡片,这些卡片根据在react中传递给它的props.type链接到不同的页面。

我是否正确地动态创建了这些路由器链接?

import React from 'react';
import {render} from 'react-dom';
import {Route, NavLink, Switch, Redirect} from 'react-router-dom';
import Answered from '../../containers/Blog/answered/answered-posts';
import './Post.css';

import RothIRA from '../../containers/Types/RothIRA';

function post(props) {

  return (
    <article className="Post" onClick={props.clicked}>

      <NavLink to={{
        pathname: '/' + props.type,
        hash: '#submit',
        search: '?quick-submit=true'
      }}>
        {props.type}
      </NavLink>

      <Switch>
        <Route path={'/' + props.type} component={RothIRA}/>
      </Switch>
    </article>

  );

}

export default post;

首先,Switch如果标签中只有一个标签,则使用该标签毫无意义Route因为即使在标签中有两个或多个匹配的元素,该标签Switch只会渲染Route第一个匹配的元素Switch

这是Switch标签https://reactrouter.com/web/api/Switch的正式文档

第二个是RothIRA组件。无论路由什么类型,它总是被渲染。如果使RothIRA组件根据路线灵活地呈现内容,也可以。但是,如果不这样做,它将在每次路由时呈现相同的内容。如果您这样做了,请查看这些示例。

这个例子根据路线渲染了不同的组件

import React from 'react';
import {render} from 'react-dom';
import {Route, NavLink, Switch, Redirect} from 'react-router-dom';
import Answered from '../../containers/Blog/answered/answered-posts';
import './Post.css';

import RothIRA1 from '../../containers/Types/RothIRA1';
import RothIRA2 from '../../containers/Types/RothIRA2';

function post(props) {

  return (
    <article className="Post" onClick={props.clicked}>

      <NavLink to={{
        pathname: '/' + props.type,
        hash: '#submit',
        search: '?quick-submit=true'
      }}>
        {props.type}
      </NavLink>

      <Switch>
        <Route path={'/1'} component={RothIRA1}/>
        <Route path={'/2'} component={RothIRA2}/>
      </Switch>
    </article>

  );

}

export default post;

这个例子渲染了,RothIRA但是让它知道道具的类型

import React from 'react';
import {render} from 'react-dom';
import {Route, NavLink, Switch, Redirect} from 'react-router-dom';
import Answered from '../../containers/Blog/answered/answered-posts';
import './Post.css';

import RothIRA from '../../containers/Types/RothIRA';

function post(props) {

  return (
    <article className="Post" onClick={props.clicked}>

      <NavLink to={{
        pathname: '/' + props.type,
        hash: '#submit',
        search: '?quick-submit=true'
      }}>
        {props.type}
      </NavLink>

      <Route path={'/' + props.type} render={() => (<RothIRA type={props.type} />)}/>
    </article>

  );

}

export default post;

其他事情对我来说也很好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使路由器在另一个路由器内反应?

来自分类Dev

如何将路由器中的组件状态传递给另一个路由器组件

来自分类Dev

如何使用本机路由器通量将数据传递到另一个屏幕?

来自分类Dev

将数据从一个路由器(组件)传递到另一个

来自分类Dev

如何使用路由器从一个组件到另一个ReactJS访问传递的数据

来自分类Dev

从另一个组件反应路由器访问参数

来自分类Dev

将变量从Backbone.js路由器初始化函数传递到另一个路由器函数的forEach语句

来自分类Dev

如何使用javascript将值从父窗口传递到另一个html页面?

来自分类Dev

如何使用javascript将值从父窗口传递到另一个html页面?

来自分类Dev

如何将2个路由器与另一个路由器桥接?

来自分类Dev

如何将Internet从另一个路由器连接到DD-WRT路由器?

来自分类Dev

通过wifi将路由器连接到另一个路由器以扩展网络

来自分类Dev

路由器指向另一个IP

来自分类Dev

将道具传递到另一个组件并重新绘制页面

来自分类Dev

反应如何将一个组件及其道具传递给另一个组件

来自分类Dev

使用历史对象在反应路由器中传递道具

来自分类Dev

将一个路由器连接到另一个路由器(现在有后续问题)

来自分类Dev

如何在反应原生路由器通量中使用操作从另一个屏幕调用屏幕中的函数

来自分类Dev

一个wifi路由器和另一个wifi路由器之间的区别?

来自分类Dev

$vuetify.goTo('#foo') 在另一个路由器页面上不起作用

来自分类Dev

Ruby on Rails:如何使用不同的控制器将一个视图/页面链接/路由到另一个视图/页面

来自分类Dev

反应本机如何将道具通过导航器传递到另一个“活动/视图”

来自分类Dev

匹配AngularJS UI路由器中的一个或另一个单词

来自分类Dev

匹配AngularJS UI路由器中的一个或另一个单词

来自分类Dev

将变量传递到另一个页面以进行SQL查询

来自分类Dev

使用插入ubuntu pc的路由器无线连接到另一个调制解调器/路由器

来自分类Dev

使用插入ubuntu pc的路由器无线连接到另一个调制解调器/路由器

来自分类Dev

将var传递到另一个页面

来自分类Dev

将变量从页面视图控制器传递到另一个

Related 相关文章

  1. 1

    如何使路由器在另一个路由器内反应?

  2. 2

    如何将路由器中的组件状态传递给另一个路由器组件

  3. 3

    如何使用本机路由器通量将数据传递到另一个屏幕?

  4. 4

    将数据从一个路由器(组件)传递到另一个

  5. 5

    如何使用路由器从一个组件到另一个ReactJS访问传递的数据

  6. 6

    从另一个组件反应路由器访问参数

  7. 7

    将变量从Backbone.js路由器初始化函数传递到另一个路由器函数的forEach语句

  8. 8

    如何使用javascript将值从父窗口传递到另一个html页面?

  9. 9

    如何使用javascript将值从父窗口传递到另一个html页面?

  10. 10

    如何将2个路由器与另一个路由器桥接?

  11. 11

    如何将Internet从另一个路由器连接到DD-WRT路由器?

  12. 12

    通过wifi将路由器连接到另一个路由器以扩展网络

  13. 13

    路由器指向另一个IP

  14. 14

    将道具传递到另一个组件并重新绘制页面

  15. 15

    反应如何将一个组件及其道具传递给另一个组件

  16. 16

    使用历史对象在反应路由器中传递道具

  17. 17

    将一个路由器连接到另一个路由器(现在有后续问题)

  18. 18

    如何在反应原生路由器通量中使用操作从另一个屏幕调用屏幕中的函数

  19. 19

    一个wifi路由器和另一个wifi路由器之间的区别?

  20. 20

    $vuetify.goTo('#foo') 在另一个路由器页面上不起作用

  21. 21

    Ruby on Rails:如何使用不同的控制器将一个视图/页面链接/路由到另一个视图/页面

  22. 22

    反应本机如何将道具通过导航器传递到另一个“活动/视图”

  23. 23

    匹配AngularJS UI路由器中的一个或另一个单词

  24. 24

    匹配AngularJS UI路由器中的一个或另一个单词

  25. 25

    将变量传递到另一个页面以进行SQL查询

  26. 26

    使用插入ubuntu pc的路由器无线连接到另一个调制解调器/路由器

  27. 27

    使用插入ubuntu pc的路由器无线连接到另一个调制解调器/路由器

  28. 28

    将var传递到另一个页面

  29. 29

    将变量从页面视图控制器传递到另一个

热门标签

归档