React / Redux: доступ к реквизитам внутри компонента подключения

Обычно моя структура для компонента React / Redux выглядит так:

 .Component
  ├── Component.less
  ├── ComponentConnect.js
  └── ComponentUi.js

Файл для стиля, файл для подключения и еще один для пользовательского интерфейса. Вот мой компонент подключения:

import { connect } from 'react-redux';
import actions from '../../redux/actions';
import selectors from '../../redux/selectors';
import ComponentUi from './ComponentUi';

export const ComponentConnect = connect(
    (state) => {

        return {
            friend: state.User ? state.User.friends.includes(this.props.id) : false,
        };
    },
    (dispatch) => {
        return {};
    }
)(ComponentUi);

export default ComponentConnect;

И это мой компонент пользовательского интерфейса:

import React from 'react';
import './Component.less';

class ComponentUi extends React.Component {
    constructor(props) {
        super(props);
    }

    render() {

        return (
            <div className = "Component">
                My stuff here
            </div>
        );
    }
}

export default ComponentUi;

Когда я хочу использовать компонент, я вызываю ComponentConnect, который получает реквизиты и передаю их ComponentUi. Как видите, в ComponentConnect я пытаюсь отфильтровать данные, возвращаемые Redux, и пытаюсь сделать это, обратившись к props.

state.User ? state.User.friends.includes(this.props.id) : false

Конечно, он возвращает ошибку, но мне интересно, можно ли каким-то образом получить доступ к реквизитам.

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

Ответы 1

mapStateToProps функция вызывается с передачей props компоненту в качестве второго параметра, поэтому вы можете сделать это:

(state, props) => {
    return {
        friend: state.User ? state.User.friends.includes(props.id) : false,
    };
},

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