首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何传递react-router-dom props & normal props

如何传递react-router-dom props & normal props
EN

Stack Overflow用户
提问于 2020-08-05 16:49:00
回答 2查看 80关注 0票数 0

我知道使用react-router-dom道具的方法。就是这样的

代码语言:javascript
复制
import React from 'react';
import { RouteComponentProps } from 'react-router-dom';

const  AAA : React.FC<RouteComponentProps> = ({history}) => {
.
.
.
}

我知道如何使用由父组件发送的属性,如下所示

代码语言:javascript
复制
import React from 'react';

const AAA = props => {
.
.
.
}

但我不知道如何使用这两个。

请给我一些建议。

EN

回答 2

Stack Overflow用户

发布于 2020-08-05 17:02:50

您正在使用的{history}属性正在使用对象解构。

您可以这样做:

  1. 您可以在代码中直接使用historysampleProp

代码语言:javascript
复制
<ChildComponent samepleProp />
代码语言:javascript
复制
const ChildComponent = ({history, samepleProp}) = {}

  1. 或者你可以这样做。

您必须使用props.historyprops.sampleProp

代码语言:javascript
复制
<ChildComponent samepleProp />
代码语言:javascript
复制
const ChildComponent = (props) = {}
票数 0
EN

Stack Overflow用户

发布于 2020-08-05 17:29:28

在对象上执行析构时。您将只能访问您指定的属性。

由于传递给组件的所有属性都可以通过它的构造函数接收的参数(通常命名为props )进行访问,因此可以通过props.prop_name访问它们

如果您有一个ChildComponent,您想在其中访问router属性,如历史记录、位置、匹配以及从它的父级接收的属性,您可以这样执行。

考虑在ParentComponent中呈现ChildComponent,如下所示

代码语言:javascript
复制
<ChildComponent name="The child component" />

要同时访问router参数和从父级接收的属性,请执行以下操作

代码语言:javascript
复制
import { withRouter } from 'react-router-dom';

const ChildComponent = (props) => {

    // Here you have access to react-router-dom parameter

    const {history, location, match} = props;

    return <div>
         
         {/* 
             to access name props receive from the parent
             component you perform it like below 
         */}

         {props.name} 

    </div>
}

export default withRouter(ChildComponent);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63261559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档