#performance #vue.js #vuex #vue-composition-api
Вопрос:
Я программист по хобби. я изучаю vue, и теперь мне интересно, будет ли быстрее хранить логику приложения в действиях vuex или в интерфейсе api композиции.
для объяснения: я написал электронное приложение. это приложение считывает файл и преобразует его в огромный массив. (размер более 2000). логика, хранящаяся в действии vuex, берет один элемент массива, изменяет его, заменяет и тому подобное. теперь для повышения производительности мне интересно, следует ли мне лучше использовать api композиции или остановиться на действиях vuex
я не помещал здесь код, потому что мой вопрос не относится к конкретному коду. я хочу знать в целом, может ли vuex работать медленнее, чем при использовании api композиции
Комментарии:
1. Маловероятно, что производительность магазина станет узким местом или, по крайней мере, окажет значительное влияние на производительность. Ваш код, который его использует, будет. Можно с уверенностью предположить, что обычная реактивность Vue имеет лучшую производительность, чем Vuex, потому что последняя добавляет слой поверх первой, что неизбежно влечет за собой некоторые накладные расходы. Но это не означает, что ваш собственный магазин будет работать лучше, чем Vuex.
2. для объяснения: я не хочу заменять магазин vuex. я люблю этот магазин. но у меня есть некоторые функции в разделе действия, которые получают некоторые данные, обрабатывают их и затем передают в раздел мутации. эти действия можно было бы сохранить в разделе vue hook, если бы производительность была лучше
3. Я сомневаюсь, что это поможет производительности, если вы не будете отправлять тысячи действий в секунду. Похоже на случай преждевременной оптимизации. Другое дело, что вам не нужно помещать все в глобальный магазин, если вам это не нужно.
4. хорошо, поэтому я сохраню свои действия. было бы много работы, чтобы преобразовать компоненты nessessarry в компоненты композиции и передать действия на аутсорсинг хукам, Энниуэй. если бы это не было действительно быстрее, это было бы бесполезно. спасибо вам за ваше мнение
Ответ №1:
Используйте vuex, он настолько быстр и реактивен, что служит централизованным хранилищем для всех компонентов приложения, а правила гарантируют, что состояние может изменяться только предсказуемым образом