Вложенный createEffect не перезапускается
Я не уверен, правильно ли я воспроизвел свою проблему, но вот она:
При сигнале рендеринга у меня есть какое-то создание объекта, которое приводит к большему количеству эффектов создания, которые зависят от сигнала обновления. Но каким-то образом область действия удаляется, и она срабатывает только один раз во время создания. Несмотря на то, что у меня есть ссылки на эти объекты, как я могу убедиться, что вложенный createEffect продолжает срабатывать?
import { render } from 'solid-js/web';
import { on, createSignal, createEffect } from 'solid-js'
function HelloWorld() {
let [render, setRender] = createSignal(undefined, { equals: false })
let [update, setUpdate] = createSignal(undefined, { equals: false })
let i = 0
createEffect(on(render, () => {
if (i++ === 1) {
createEffect(on(update, () => {
console.log('inside')
}))
}
}))
createEffect(on(update, () => {
console.log('regular', i)
}))
setInterval(() => {
setUpdate();
setRender();
})
return <div>Hello World!</div>;
}
render(() => <HelloWorld />, document.getElementById('app'))
Я хочу