Динамически компонент не работает в React - PullRequest
0 голосов
/ 04 июля 2019

Я хочу добавить динамический компонент в React, но он не работает.Я получаю правильное имя компонента, но похоже, что моя переменная в нем не работает:

componentDidMount() {
    const currentLocation = this.props.location.pathname;
    let route_name = 'Dashboard';
    for (let i = 0; i < Route.length; i++) {
      if (Route[i].path == currentLocation) {
        route_name = Route[i].name;
        break;
      }
    }
    this.setState({
      route_name: route_name
    });
  }

  render() {
    return (
      <div className="admin-content">
        <this.state.route_name />
      </div>
    );
  }

1 Ответ

2 голосов
/ 04 июля 2019

Чтобы вы могли визуализировать компонент по имени напрямую, вам нужно сначала присвоить его varaible, а затем отобразить его

componentDidMount() {
    const currentLocation = this.props.location.pathname;
    let route_name = 'Dashboard';
    for (let i = 0; i < Route.length; i++) {
      if (Route[i].path == currentLocation) {
        route_name = Route[i].name;
        break;
      }
    }
    this.setState({
      route_name: route_name
    });
  }

  render() {
    const RouteName = this.state.route_name;
    return (
      <div className="admin-content">
        <RouteName/>
      </div>
    );
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...