-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Input code
import React, { useState, useEffect } from "react";
import { render } from "react-dom";
const CountingComponent = () => {
const [count, setCount] = useState(0);
useEffect(() => {
const interval = setInterval(() => setCount(count + 1), 1000);
return () => {
clearInterval(interval);
};
}, []);
return <div>Count value is {count}</div>;
};
render(() => <CountingComponent />, document.getElementById("app"));
Expected Output
import { createSignal, onCleanup, onMount } from "solid-js";
import { render } from "solid-js/web";
const CountingComponent = () => {
const [count, setCount] = createSignal(0);
onMount(() => {
const interval = setInterval(() => setCount(count + 1), 1000);
onCleanup(() => clearInterval(interval));
});
return <div>Count value is {count()}</div>;
};
render(() => <CountingComponent />, document.getElementById("app"));
Additional context
Example transform to convert useState/useEffect of ReactJS to createSignal/onCleanup of SolidJS.
devinrhode2 and Dbuggerx
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request