McBrincie212
McBrincie212
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
cya
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
yeh gtg too
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
ok
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
mhm\
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
oh
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
so the function has to be executed again
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
the new value has to be reflected
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
tho what happens if the value changes
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
i use it sometimes for getting a unit for example. The parseUnit func is used which just converts it into a unit representation
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
yeh
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
thats the issue
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
thats a good question, idk why i putted createSignal from before
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
hmm
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
export type StoreField<T> = { store: Store<T>; field: keyof T }

export type ReactiveTypeGetter<T> = T | Accessor<T> | StoreField<T>
export type StoreField<T> = { store: Store<T>; field: keyof T }

export type ReactiveTypeGetter<T> = T | Accessor<T> | StoreField<T>
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
and for ReactiveTypeGetter
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
export function getterFromReactive<T>(
value: ReactiveTypeGetter<T>,
func?: Function,
): Accessor<any> {
if (typeof value === 'function') {
// @ts-ignore
return func === undefined ? value : () => func(value())
} else if (value instanceof Object && 'store' in value && 'field' in value) {
const [valueGetter, valueSetter] = createSignal(
func === undefined ? () => value.store[value.field] : () => func(value.store[value.field]),
)
createRenderEffect(() => {
const val: T[keyof T] = value.store[value.field]
valueSetter(func === undefined ? val : func(val))
})
return valueGetter
}
return func === undefined ? () => value : () => func(value)
}
export function getterFromReactive<T>(
value: ReactiveTypeGetter<T>,
func?: Function,
): Accessor<any> {
if (typeof value === 'function') {
// @ts-ignore
return func === undefined ? value : () => func(value())
} else if (value instanceof Object && 'store' in value && 'field' in value) {
const [valueGetter, valueSetter] = createSignal(
func === undefined ? () => value.store[value.field] : () => func(value.store[value.field]),
)
createRenderEffect(() => {
const val: T[keyof T] = value.store[value.field]
valueSetter(func === undefined ? val : func(val))
})
return valueGetter
}
return func === undefined ? () => value : () => func(value)
}
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
here is the code for the getterFromReactive
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
instead of making the the entire object
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
i took the "lazy" approach of making the values as store and the name as a signal
46 replies
SSolidJS
Created by McBrincie212 on 4/15/2025 in #support
State Doesn't Get Defaulted And Values Don't Change
kind of
46 replies