当前位置: 首页 > 知识库问答 >
问题:

响应路由器传递到路由组件的道具

赵才俊
2023-03-14

我试图使用react router将props从app.jsx传递到某个路由组件,但出现以下错误

<Route exact path='/FileUpload' acc={this.state.account} ethAdd={this.state.ethAddress} component={FileUpload} />
constructor(props) {
        super(props);
        this.setState({
            account: this.props.route.acc,
            ethAddress: this.props.route.ethAdd
        })
    }

共有1个答案

詹斌蔚
2023-03-14

不向组件传递自定义道具。改用呈现函数:

<Route exact path='/FileUpload' render={
  (props) => <FileUpload {...props} acc={this.state.account} ethAdd={this.state.ethAddress} />
} />

正如SakoBu提到的,您需要更改您的构造函数:

constructor(props) {
    super(props);
    this.state = {
        account: this.props.acc,
        ethAddress: this.props.ethAdd
    };
}
 类似资料:
  • 我需要通过使用路由器的组件道具。这是我的代码: 如您所见,我验证了我要传递给登录组件的道具。 当我记录道具时,未经验证的道具不存在。我做错了什么?我怎样才能正确地通过道具?我跟踪了文档和其他讨论。据我所知,这应该是可行的。react router和react router dom的版本为4.0.0

  • 我正在使用react with react路由器。我正试图在react路由器的“链接”中传递属性 “链接”呈现页面,但不将属性传递给新视图。下面是查看代码 如何使用“链接”传递数据?

  • 我在一个组件中有一个按钮,单击我想转到另一个组件并将状态传递给该组件。 是这样的: 但它不起作用。单击“我去添加新问题url”,但组件AddNewQuestionPage不会呈现。若我不把路线放在AddQuestions组件中,而是放在应用程序组件中,它就可以工作。它是整个应用程序的主要组件,使用Switch,还设置了其他路由。 但是,如果状态问题是从应用程序组件呈现的,我不知道如何将其传递给Ad

  • 我使用的反应与反应路由器的项目,我需要传递道具的子组件从路由。 我有这样的设置: App.js Home.js 问题是主组件总是给出错误“未定义”。我无法理解如何解决这个问题。如果我从Home.js中移除道具,组件渲染就很好。但当我尝试访问道具时,会出现错误。

  • 我对反应和试图理解如何传递道具很陌生。 首先,我设置了一个Navlink组件,该组件包含子类别属性: ,,都是从json文件中获取的,所以这部分是可以的。 每条路线的定义如下: 所以它呈现一个名为

  • 我是React Router的新手,我正试图通过一条路径将一些道具从我的父组件传递给子组件。 这是我的代码: 理想情况下,我希望能够从子组件触发。在做了一些研究后,我认为传递一个选项而不是会传递它,但是它不会。知道如何将函数传递到路由组件中吗?