乐闻世界logo
搜索文章和话题

What lifecycle hooks does SolidJS have? How does it differ from React?

2月21日 15:22

SolidJS component lifecycle differs significantly from React:

Core Characteristics:

  • Component function executes only once, not re-executed on props changes
  • Use onMount for component mounting
  • Use onCleanup for cleanup logic
  • Use createEffect for reactive updates

Lifecycle Hooks:

javascript
function MyComponent(props) { // Component initialization (executes once) const [count, setCount] = createSignal(0); // Execute after mount onMount(() => { console.log('Component mounted'); }); // Reactive side effect createEffect(() => { console.log('Count changed:', count()); }); // Cleanup logic onCleanup(() => { console.log('Cleanup'); }); return <div>{count()}</div>; }

Comparison with React:

FeatureReactSolidJS
Component executionEvery renderOnce only
State updateTriggers re-renderFine-grained DOM update
useEffectNeeds dependency arrayAuto-tracks dependencies
Component unmountuseEffect cleanuponCleanup

Best Practices:

  • Put reactive logic in createEffect
  • Use onMount for one-time initialization
  • Use onCleanup to clean up side effects
  • Avoid calling signal getters directly in component function
标签:SolidJS