Реагировать на пропуск роутера для компонента маршрута - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь передать реквизиты из моего app.jsx в один из моих компонентов маршрута, используя реакционный маршрутизатор, но я получаю следующую ошибку

TypeError: Невозможно прочитать свойство 'acc' из неопределенного

Вот код из моего 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 Ответ

5 голосов
/ 25 марта 2019

<Route> не передает настраиваемые реквизиты компонентам.Вместо этого используйте функцию рендеринга :

<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
    };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...