JSFiddle - React, Tailwind, and code Playground
by Josh Pullen
JavaScript
let listenCallback;
function createSignal(initialValue) {
let signal = {
value: initialValue,
get() {
listenCallbacks.push(listenCallback);
return signal.value;
},
set(newValue) {
signal.value = newValue;
for (const callback of signal.listenCallbacks) {
callback();
}
},
listenCallbacks: []
};
return [signal.get, signal.set];
}
function reactive(callback) {
const run = 9
listenCallback =
callback();
}
const [value, setValue] = createSignal(0);
setInterval(() => {
setValue(value() + 1);
}, 500);
reactive(() => {
console.log(value());
});