React Hooks против React-redux

После введения крючков в Reactjs, они являются хорошей заменой для глобального управления магазином, как Redux, или нет? Речь идет об их производительности, чтобы реагировать.

Я использовал Redux и redux-saga в своих последних проектах, но после введения хуков мне интересно заменить их.

На мой взгляд, нет необходимости выбирать одно над другим. В этой статье объясняется, как сочетать оба варианта или когда лучше выбрать один из них medium.com/javascript-scene/…

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

Ответы 1

Ответ принят как подходящий

Одна вещь, которую вам нужно понять, это то, что хуки не предназначены для замены избыточных хранилищ и не используются для глобального управления хранилищами. Вы используете хуки, чтобы упростить реализацию компонентов (заменяя компоненты класса функциональными компонентами), сами компоненты по-прежнему будут полагаться на некоторые данные, хранящиеся в хранилище избыточности. Вы используете избыточность, чтобы несколько компонентов в вашем приложении могли использовать одно и то же хранилище избыточности.

Например, у вас есть 2 компонента: <Hello> с надписью «Привет, имя_пользователя» и <Welcome> с надписью «Добро пожаловать, имя_пользователя». Теперь для обоих этих компонентов требуются одни и те же данные — user_name. Если мы используем редукционное хранилище, мы можем хранить данные в одном месте и использовать их во всем приложении, передавая их в качестве реквизита. Теперь мы можем реализовать <Welcome> и <Hello> с хуками вместо компонентов класса, но данные, которые им нужны, должны поступать из глобального хранилища.

Вы не можете создать глобальный менеджер состояний с помощью хука? без использования редукса!

adel 26.06.2019 11:32

@adel Хм, с useState () или что-то в этом роде? может быть, но все же вам придется вручную убедиться, что все ваши компоненты перерисовываются при изменении одного из реквизитов ... Это возможно, но сложно поддерживать, плюс это то, что редукс делает автоматически, и он должен быть более эффективным. Зачем тратить время на что-то, когда для этого есть действительно хорошая библиотека?

akshay kishore 26.06.2019 11:39

вы правы, но я вижу глобальное хранилище, реализованное с помощью react hooks, меня беспокоит представление, они равны?

Ahmad Khani 26.06.2019 13:26

Как я уже сказал, вы можете реализовать глобальное хранилище с помощью хуков. Улучшается ли производительность использования хуков для поддержания глобального состояния? Честно говоря, я не знаю. Хотя я видел несколько статей о том, как реализовать глобальное хранилище с помощью хуков, я никогда не видел причин, почему это лучше, чем хранилище избыточности. Так что мое мнение, если вы не обязаны это делать, не делайте этого. Я говорю это из-за накладных расходов на обслуживание, с которыми вы можете столкнуться позже. Но если вы хотите попробовать, вот что вы можете прочитать itnext.io/….

akshay kishore 26.06.2019 14:28

В зависимости от степени «глобального состояния», которое вам нужно, вместо Redux можно использовать хуки реакции useContext и useReducer.

vancy-pants 19.06.2020 22:02

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