Как получить доступ к this.props.location в дочернем компоненте?

Я новичок в React, поэтому, пожалуйста, не злитесь на меня. У меня есть дочерний компонент <BottomSlider />, и я не могу получить доступ к this.props.location. Я пытался подключить this.props, и он показывает только хранилище, но в родительском компоненте он показывает history, location , store , match. Как я могу передать реквизиты местоположения моему компоненту <BottomSlider>?

родительский компонент

export default class Worklist extends Component<IProps> {
  public render() {
    console.info(this.props)
    return (
      <>
        <BottomSlider />
      </>
    )
  }
}

и дочерний компонент

export default class BottomSlider extends Component<IProps> {
  public render() {
    // const { pathname } = this.props.location
    const { Modal } = this.props.store
    const { BuildingData } = this.props.store
    console.info("============= = ")
    console.info("test", this.props)

    return (
      <div
        className = {`bottom-slider ${
          pathname !== "/worklist-dynamic"
            ? "bottom__slider-hide"
            : "bottom__slider-align"
        }`}
      >
        <div
          className = {`bottom__slider ${
            pathname === "/worklist-dynamic" ? "bottom__slider-align" : "" // todo add visibility
          }`}
        >
      <div className = "building_name">
        <p className = "building_name-text">test</p>
      </div>
        </div>
      </div>
    )
  }
}

или вы можете передать все реквизиты вашему компоненту, например <BottomSlider {...this.props}/>.

liu pluto 18.01.2019 10:49
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
1
266
1

Ответы 1

Если вы используете react router v4, вы можете добавить withRouter из react-router-dom в дочерний компонент, чтобы получить доступ к местоположению в дочернем компоненте, как показано ниже:

import { withRouter } from 'react-router-dom' 

export default withRouter(BottomSlider)

Другие вопросы по теме