Redux in Depth: Tại sao immutability là bắt buộc với Redux?
Đã có khi nào bạn tự hỏi tại sao immutable state là bắt buộc trong Redux hay chưa? Hay đã có khi nào bạn vô tình mutate state và kết quả là UI không được render lại theo sự thay đổi của state chưa? => Nếu bạn đã từng rơi vào các tình huống đó thì hãy cùng mình "Deep read" một chút để ...
Đã có khi nào bạn tự hỏi tại sao immutable state là bắt buộc trong Redux hay chưa? Hay đã có khi nào bạn vô tình mutate state và kết quả là UI không được render lại theo sự thay đổi của state chưa? => Nếu bạn đã từng rơi vào các tình huống đó thì hãy cùng mình "Deep read" một chút để tìm ra câu trả lời cho những câu hỏi đó nhé
Immutability giúp cải thiện hiệu năng của app, và khiến cho việc lập trình cũng như debug trở nên đơn giản và dễ dàng hơn, bởi lẽ việc thay đổi dữ liệu một cách tùy tiện trong cả ứng dụng sẽ dẫn tới rất nhiều khó khăn trong việc debug. Và đặc biệt hơn, immutability sẽ giúp cho các kỹ thuật tìm kiếm sự thay đổi sẽ phải xử lý nhẹ nhàng hơn, năng suất hơn, từ đó đảm bảo đạt được hiệu năng cao nhất có thế.
Nguyên nhân cốt lõi của vấn đề là ở việc Redux sử dụng shallow equality checking!!!