Skip to content

Instantly share code, notes, and snippets.

View sakulads's full-sized avatar
🏠
Working from home

Dmitrii sakulads

🏠
Working from home
View GitHub Profile
@kinoadr
kinoadr / deferredPersist.ts
Last active January 12, 2023 23:11
Zustand (^3.7.0) persist middleware with deferred hydration.
import { persist, PersistOptions } from 'zustand/middleware';
import { GetState, SetState, StoreApi } from 'zustand/vanilla';
type DeferredPersistOptions<S extends object> = PersistOptions<S, Partial<S>> & {
hydrateOnResolve?: Promise<void>;
};
const DEFAULT_GET_STORAGE = () => localStorage;
export default function deferredPersist<
@hucancode
hucancode / README.md
Last active May 28, 2024 20:51
Flatten Strapi 4's response JSON

Update 29/11/2022

There is a plugin on Strapi Marketplace that do this response transforming stuffs in a more configurable way. Checkout this if you are interested.

@gaearon
gaearon / modern_js.md
Last active June 11, 2024 07:33
Modern JavaScript in React Documentation

If you haven’t worked with JavaScript in the last few years, these three points should give you enough knowledge to feel comfortable reading the React documentation:

  • We define variables with let and const statements. For the purposes of the React documentation, you can consider them equivalent to var.
  • We use the class keyword to define JavaScript classes. There are two things worth remembering about them. Firstly, unlike with objects, you don't need to put commas between class method definitions. Secondly, unlike many other languages with classes, in JavaScript the value of this in a method [depends on how it is called](https://developer.mozilla.org/en-US/docs/Web/Jav