Здравствуйте. Знаю, этот вопрос уже звучал много раз, но все же. До этого стор не использовал, но очень хочется понять все его преймущества.
1) Почему не использовать обычный синглтон для хранения данных, где вместо экшинов использовать методы?
2) На сколько я понимаю, все данные хранятся в одном месте и каздая компонента имеет доступ ковсем данным, даже к тем к которым доступа быть не должно. При этом без всяких зависимостей. Так? В чем преймущество в этом?
Так а все же. Почему бы не взять обычный обьект как алтеративу (состояние хранить в обьекте, а изменять с помощью методов). В чем преймущество экшинов. Почему не делать как-то так
let store = {
someList: {
addItem(item){
// ...
}
// ...
}
// ...
};
store.someList.addItem('someItem');
Единственный по-настоящему действенный способ понять зачем нужно что-то - это попасть в условия для которых это что-то было придумано. Поверьте, как только вам понадобиться написать огромное и сложное приложение для фронта, а не просто добавить пару обработчиков кликов и парочку анимаций на страничку, вы сразу же поймёте, зачем нужен redux.
Артём Петренков: есть опыт управления командой, которая разрабатывала как бэк, так и фронт для сложного и нагруженного web-приложения. В части программирования я больше бэкендер. Впрочем, и там регулярно встречаю вопросы типа "А зачем нужно это реактивное программирование?"
Абстрактно: У тебя есть 1 узел слева на вложенности 500 узлов, 2 узел на вложенности 1000 и третий на 700, все в 3 разных направления и необходим, чтобы они работали синхронно от данных. И вот тут у тебя есть единый контейнер от которого и получаешь данные. А чтобы не передавать через цепочку props - используй контекст.
Написано только что