-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Open
Labels
enhancementNew feature or requestNew feature or request
Milestone
Description
A memo accept an initial value and the equals property via the options object to exert finer control over its update logic. However it does not respect the equals property on its initial execution but it should for consistency.
For the following example, 'some value' should never be assigned to the memo as it is not a valid value.
import { createEffect, createSignal, createMemo } from 'solid-js';
const [preferences, setPreferences] = createSignal({
lang: 'en', theme: 'some value', fontSize: 'large',
});
const theme = createMemo(() => preferences().theme, 'light', {
equals: (prev, curr) => {
if (prev === curr) return true;
if (prev === 'dark' && curr === 'light') return false;
if (prev === 'light' && curr === 'dark') return false;
return true;
}
});
createEffect(() => console.log(theme()));Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request