Novice Question -- Using SolidJS, how do I make DOM elements reactive to signal updates?
I have two instances which I cannot get to update as expected.
- Within the Origin Component, when attempting to update the item count.
- Within Remote Component, when attempting to update the item results.
Origin Component
import { Component } from 'solid-js'
import { isEqual as _isEqual } from 'lodash-es'
const [getItems, setItems] = createSignal<Array<Item>>([])
const OriginComponent: Component = () => {
const updateItems = (item: Item) => {
const init = getItems()
const index = init.findIndex(i => _isEqual(i, item))
index == -1 ? init.push(item) : init.splice(index, 1)
setItems(init)
}
return (
<>
<span>Item Count: {getItems().length}</span> // << -- WILL NOT CHANGE.
<button onclick={() => updateItems(x: Item)}>Click Me</button>
</>
)
}
export { OriginComponent, getItems }
Remote Component
import { Component } from 'solid-js'
import { getItems } from '../OriginComponent'
const RemoteComponent: Component = () => {
return (
<p class='results'>
{getItems() ? 'Has Items' : 'Has No Items'} // << -- WILL NOT CHANGE.
</p>
)
}