3 ms·
These days that's pretty well-supported in the base language: const updated = { ...existing, someKey: someNewValue }; You mention nesting. That starts to
by sethaurus 1y ago
These days that's pretty well-supported in the base language:
const updated = { ...existing, someKey: someNewValue };
You mention nesting. That starts to look messier:
const updated = { ...existing, someKey: { ...existing.someKey, ...someNewValue } };
There's a whole cottage industry of little libraries to make this ergonomic/fast in the general case (copying immutable objects with nested changes). `immer` is a popular choice. But the reality is that it gets complicated to do this generically; in my view it's usually better to just use the base language where possible, even if it means sprouting some util functions for the various kinds of updates you end up doing.