Reactive
  • Introduction
  • Reactivity Basics
  • Reactive Components
    • component()
    • ReactiveBoundary
  • API Reference
  • Reactivity
    • Reactivity API: Core
    • Reactivity API: Utils
    • Reactivity API: Advanced
  • Reactive Components
  • Links
    • GitHub
    • Sandbox
Powered by GitBook
On this page

Was this helpful?

  1. Reactive Components

ReactiveBoundary

This section describes how to create Observer Components using observer higher order component API.

ReactiveBoundary

This is a built-in component accepting a render function as children. This is useful when you want some part of your rendered JSX to be a separate observer but you don't want to extract that part as a separate component.

import { ref, ReactiveBoundary } from '@re-active/react';

export const Counter = createComponent(()=> {
    const count = ref(0);
    
    function increment() {
        count.value++;
    }

    return () => {
        // When increment button pressed. this component won't render
        // Because the reactive value is used by the inner ReactiveBoundary component
        // Only the contents of ReactiveBoundary will render again
        console.log('Counter Rendered');
        return (
            <div>
                <ReactiveBoundary>
                    // only this render function will be called when counter is changed
                    {() => <span>{count.value}</span>}
                </ReactiveBoundary>
                <button onClick={increment}>increment</button/>
            </div>
        )
    }
});
Previouscomponent()NextReactivity

Last updated 2 years ago

Was this helpful?