(vc *RenderContextImpl, fn func() func(), deps []any)
| 122 | } |
| 123 | |
| 124 | func UseEffect(vc *RenderContextImpl, fn func() func(), deps []any) { |
| 125 | hookVal := vc.getOrderedHook() |
| 126 | compTag := "" |
| 127 | if vc.Comp != nil { |
| 128 | compTag = vc.Comp.Tag |
| 129 | } |
| 130 | if !hookVal.Init { |
| 131 | hookVal.Init = true |
| 132 | hookVal.Fn = fn |
| 133 | hookVal.Deps = deps |
| 134 | vc.Root.addEffectWork(vc.GetCompWaveId(), hookVal.Idx, compTag) |
| 135 | return |
| 136 | } |
| 137 | // If deps is nil, always run (like React with no dependency array) |
| 138 | if deps == nil { |
| 139 | hookVal.Fn = fn |
| 140 | hookVal.Deps = deps |
| 141 | vc.Root.addEffectWork(vc.GetCompWaveId(), hookVal.Idx, compTag) |
| 142 | return |
| 143 | } |
| 144 | |
| 145 | if depsEqual(hookVal.Deps, deps) { |
| 146 | return |
| 147 | } |
| 148 | hookVal.Fn = fn |
| 149 | hookVal.Deps = deps |
| 150 | vc.Root.addEffectWork(vc.GetCompWaveId(), hookVal.Idx, compTag) |
| 151 | } |
| 152 | |
| 153 | func UseResync(vc *RenderContextImpl) bool { |
| 154 | if vc.RenderOpts == nil { |
no test coverage detected