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





Одна вещь, которую вам нужно понять, это то, что хуки не предназначены для замены избыточных хранилищ и не используются для глобального управления хранилищами. Вы используете хуки, чтобы упростить реализацию компонентов (заменяя компоненты класса функциональными компонентами), сами компоненты по-прежнему будут полагаться на некоторые данные, хранящиеся в хранилище избыточности. Вы используете избыточность, чтобы несколько компонентов в вашем приложении могли использовать одно и то же хранилище избыточности.
Например, у вас есть 2 компонента: <Hello> с надписью «Привет, имя_пользователя» и <Welcome> с надписью «Добро пожаловать, имя_пользователя». Теперь для обоих этих компонентов требуются одни и те же данные — user_name. Если мы используем редукционное хранилище, мы можем хранить данные в одном месте и использовать их во всем приложении, передавая их в качестве реквизита. Теперь мы можем реализовать <Welcome> и <Hello> с хуками вместо компонентов класса, но данные, которые им нужны, должны поступать из глобального хранилища.
Вы не можете создать глобальный менеджер состояний с помощью хука? без использования редукса!
@adel Хм, с useState () или что-то в этом роде? может быть, но все же вам придется вручную убедиться, что все ваши компоненты перерисовываются при изменении одного из реквизитов ... Это возможно, но сложно поддерживать, плюс это то, что редукс делает автоматически, и он должен быть более эффективным. Зачем тратить время на что-то, когда для этого есть действительно хорошая библиотека?
вы правы, но я вижу глобальное хранилище, реализованное с помощью react hooks, меня беспокоит представление, они равны?
Как я уже сказал, вы можете реализовать глобальное хранилище с помощью хуков. Улучшается ли производительность использования хуков для поддержания глобального состояния? Честно говоря, я не знаю. Хотя я видел несколько статей о том, как реализовать глобальное хранилище с помощью хуков, я никогда не видел причин, почему это лучше, чем хранилище избыточности. Так что мое мнение, если вы не обязаны это делать, не делайте этого. Я говорю это из-за накладных расходов на обслуживание, с которыми вы можете столкнуться позже. Но если вы хотите попробовать, вот что вы можете прочитать itnext.io/….
В зависимости от степени «глобального состояния», которое вам нужно, вместо Redux можно использовать хуки реакции useContext и useReducer.
На мой взгляд, нет необходимости выбирать одно над другим. В этой статье объясняется, как сочетать оба варианта или когда лучше выбрать один из них medium.com/javascript-scene/…