Параметр URL в реагирующем компоненте класса - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь передать параметр компоненту, используя URL. Я использую компонент реагирования, а не компонент функции, поэтому я не могу использовать хуки? Как я могу прочитать параметр URL в компоненте класса? Я пытаюсь передать параметр компоненту, чтобы он мог в зависимости от параметра получить данные из базы данных и обновить его или просто создать новую запись! Спасибо

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Вы можете использовать декоратор withRouter HO C. Это украшает компонент (основанный на классе или функциональный) и вводит реквизиты match, location и history.

import React from "react";
import PropTypes from "prop-types";
import { withRouter } from "react-router";

// A simple component that shows the pathname of the current location
class ShowTheLocation extends React.Component {
  static propTypes = {
    match: PropTypes.object.isRequired,
    location: PropTypes.object.isRequired,
    history: PropTypes.object.isRequired
  };

  render() {
    const { match, location, history } = this.props;

    return <div>You are now at {location.pathname}</div>;
  }
}

// Create a new component that is "connected" (to borrow redux
// terminology) to the router.
const ShowTheLocationWithRouter = withRouter(ShowTheLocation);

Проп * match является тот, который позволяет получить доступ к параметрам URL

this.props.match.params
0 голосов
/ 20 февраля 2020

Вы можете использовать window.location для чтения параметров URL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...