![](https://camo.githubusercontent.com/2a9b6576176a98fcd80685509b8032a163f4d39ccbcee68462c0b105270dada5/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f6c6f676f3d6e706d266d6573736167653d72656163742d757365547261636b65645374617465)
$ npm i react-usetrackedstate
$ yarn add react-usetrackedstate
import useTrackedState from 'react-usetrackedstate'
function MyComponent(){
const counter = useTrackedState({ value: 0 })
useEffect(() => {
setInterval(() => {
counter.value++;
}, 1000);
}, [])
return (
<p>{counter.value}</p>
)
}
import useTrackedState from 'react-usetrackedstate'
function MyComponent(){
const user = useTrackedState({})
useEffect(() => {
const responseFromApi = {
name: "npm",
email: "[email protected]"
};
user.set(responseFromApi);
user.package = "Github";
}, [])
return (
<>
<p>{user.name}</p>
<p>{user.email}</p>
<p>{user.package}</p>
</>
)
}
Codesandbox Example