import React from 'react';
import ReactDom from 'react-dom';
const root = ReactDom.createRoot(document.getElementById('#root'));
const App = () => <div>app</div>;
const useState = (() => {
const state:any[] = [];
const setters:Function[] = [];
let stateIndex = 0;
const render = () => {
stateIndex = 0
root.render(<App/>)
};
const createSetters = (index) => {
return function(newState) {
state[index] = newState;
render()
}
};
return function (initialState) {
state[stateIndex] = state[stateIndex] ?? initialState;
setters.push(createSetters(stateIndex))
const value = state[stateIndex];
const setter = setters[stateIndex];
stateIndex++;
return [value, setter]
}
})();