79726751

Date: 2025-08-06 02:13:21
Score: 1
Natty:
Report link

using jotai is quite easy: https://codepen.io/geordanisb/pen/EaVmBXV

import React from "https://esm.sh/react";
import ReactDOM,{createRoot} from "https://esm.sh/react-dom/client";
import * as jotai from "https://esm.sh/jotai";

const list = [1,2,3];
const state = jotai.atom(list);

const el = document.querySelector('#app');
const root = createRoot(el);

const useJotaiState = ()=>{
  const[data,setdata]=jotai.useAtom(state);
  
  const add = (n)=>{
    setdata(p=>[...p,n])
  }
  return {data,add};
}

const List = ()=>{
  const{data}=useJotaiState();
  return <ul>
      {
        data.map(d=><li>{d}</li>)
      }
    </ul>
}

const Add = ()=>{
  const{add}=useJotaiState();
  const addCb = ()=>{
    add(Math.random());
  }
  return <button onClick={addCb}>add</button>
}

const App = ()=>{
  
  return <>
    <Add/>
    <List/>
  </>
}
root.render(<App/>)

Reasons:
  • Probably link only (1):
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Geordanis BaƱo Vega