Вложенный 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'))

Я хочу а также журналы на каждом интервале.

0 ответов

Другие вопросы по тегам