React Redux передает реквизиты другому усилителю компонентов

У меня есть 2 компонента, ReviewList и Review. ReviewList имеет список компонентов Review, и для каждого компонента Review имеет свойство рассмотрение.

Я хочу наложить некоторую логическую работу на компонент, поэтому я хочу создать усилитель (Review.enhancer.js) для выполнения этого типа работы (я хочу, чтобы компонент Review был фиктивным компонентом).

Я использую React-Redux, а на моем Review.enhancer я использую метод подключения, чтобы получить опору ({обзор}), но я ничего не получил. Я нуб в реакции и сокращении.

Можете ли вы показать Review.enhancer.js

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

Ответы 1

Прежде всего, вам не обязательно нужна функция connect, если вы уже предоставляете данные, передавая их в качестве опоры в энхансер. В этом случае вы также можете использовать библиотеку recompose для применения логики к данным. Однако в большинстве случаев вам все равно нужно отправлять действия, поэтому функция connect из react-redux все равно потребуется.

Когда свойства передаются компоненту, который обернут функцией connect, они не будут переданы автоматически. Чтобы сделать эти свойства доступными для обернутого компонента, вам необходимо отобразить их из второго аргумента в функции mapStateToProps.

Review.enhancer.js

const mapStateToProps =  (state, ownProps) => {
    return { 
        review: ownProps.review,
    };
};

export default connect(mapStateToProps, null)(Review);

Теперь обернутому компоненту передается только свойство обзора. Однако вам следует избегать этого, потому что это связывает усилитель с компонентом контейнера.

Note that if you want to pass all the props to the wrapped component, you can omit the parentheses from the arrow function and use an implicit return.

Спасибо, за разъяснения, отлично сработало

Hugo Silva 08.11.2018 01:56

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