import { useImmer } from '@lynx-js/react-use';
const JediProfile = () => {
const [jedi, updateJedi] = useImmer({
alias: 'SkyWalker',
stats: {
age: 19,
midichlorians: 20000,
},
});
function updateAlias(alias) {
updateJedi((draft) => {
draft.alias = alias;
});
}
function becomeYounger() {
updateJedi((draft) => {
draft.stats.age--;
});
}
function train() {
updateJedi((draft) => {
draft.stats.midichlorians += 500;
});
}
return (
<view>
<text>
Name: {jedi.alias} (Age: {jedi.stats.age})
</text>
<text>Power Level: {jedi.stats.midichlorians}</text>
<input
bindinput={(e) => {
updateAlias(e.detail.value);
}}
value={jedi.alias}
/>
<view bindtap={becomeYounger}>Rejuvenate</view>
<view bindtap={train}>Train Force</view>
</view>
);
};