Provider-less (mặc định): Jotai dùng global WeakMap store — mọi component trong app share cùng atom values mà không cần wrap Provider.
Khi nào cần Provider:
- Testing —
<Provider store={createStore()}>tạo isolated store mỗi test, tránh state leak giữa tests; - Micro-frontend — mỗi app widget có store riêng;
- Reset toàn bộ atoms khi component unmount (ví dụ modal dialog)
Store API: const myStore = createStore(); myStore.get(atom); myStore.set(atom, value); myStore.sub(atom, callback) — dùng để interact với atoms ngoài React (WebSocket handlers, analytics).
Tradeoff: Provider-less tiện nhưng dễ gây test pollution nếu không reset; with-Provider an toàn hơn cho testing nhưng cần boilerplate. <Provider store={store}> cũng là cách implement DevTools hoặc persist toàn bộ store state.