Đặt ở state của ứng dụng chứ không nhét vào cache GraphQL. Cache được thiết kế cho dữ liệu server với cơ chế làm mới và hết hạn riêng, còn trạng thái giao diện có vòng đời hoàn toàn khác.
Ranh giới nên giữ: dữ liệu server thuộc về thư viện dữ liệu với cache, làm mới và thử lại; trạng thái giao diện như bộ lọc, tab đang chọn, biểu mẫu đang nhập thuộc về state ứng dụng; và một số trạng thái nên nằm trong địa chỉ trang để chia sẻ và quay lại được.
Một cách nghĩ hữu ích: nếu tải lại trang mà mất thì đó là trạng thái giao diện; nếu vẫn còn vì server giữ thì đó là dữ liệu server; nếu cần chia sẻ bằng liên kết thì nên nằm trong địa chỉ.
Lỗi hay gặp khi trộn: bộ lọc đặt trong cache bị xoá khi cache được dọn sau một thao tác ghi, khiến giao diện tự đặt lại về mặc định mà người dùng không hiểu vì sao.