Redux - Cửa hàng

Cửa hàng là một cây đối tượng bất biến trong Redux. Lưu trữ là một vùng chứa trạng thái chứa trạng thái của ứng dụng. Redux chỉ có thể có một cửa hàng duy nhất trong ứng dụng của bạn. Bất cứ khi nào một cửa hàng được tạo trong Redux, bạn cần chỉ định trình giảm bớt.

Hãy để chúng tôi xem cách chúng tôi có thể tạo một cửa hàng bằng cách sử dụng createStorephương thức từ Redux. Một người cần nhập gói createStore từ thư viện Redux hỗ trợ quá trình tạo cửa hàng như hình dưới đây:

import { createStore } from 'redux';
import reducer from './reducers/reducer'
const store = createStore(reducer);

Một hàm createStore có thể có ba đối số. Sau đây là cú pháp:

createStore(reducer, [preloadedState], [enhancer])

Bộ giảm tốc là một hàm trả về trạng thái tiếp theo của ứng dụng. PreloadedState là một đối số tùy chọn và là trạng thái ban đầu của ứng dụng của bạn. Một chất tăng cường cũng là một đối số tùy chọn. Nó sẽ giúp bạn nâng cao cửa hàng với khả năng của bên thứ ba.

Một cửa hàng có ba phương pháp quan trọng như dưới đây:

getState

Nó giúp bạn truy xuất trạng thái hiện tại của cửa hàng Redux của bạn.

Cú pháp cho getState như sau:

store.getState()

cử đi

Nó cho phép bạn gửi một hành động để thay đổi trạng thái trong ứng dụng của bạn.

Cú pháp của công văn như sau:

store.dispatch({type:'ITEMS_REQUEST'})

đăng ký

Nó giúp bạn đăng ký một cuộc gọi lại mà cửa hàng Redux sẽ gọi khi một hành động đã được gửi đi. Ngay sau khi trạng thái Redux được cập nhật, chế độ xem sẽ tự động hiển thị lại.

Cú pháp của công văn như sau:

store.subscribe(()=>{ console.log(store.getState());})

Lưu ý rằng hàm đăng ký trả về một hàm để hủy đăng ký người nghe. Để hủy đăng ký người nghe, chúng ta có thể sử dụng đoạn mã dưới đây:

const unsubscribe = store.subscribe(()=>{console.log(store.getState());});
unsubscribe();