v-memo / r-memo
import { type FC, ref } from '@rue-js/rue';
const VMemoAndRMemo: FC = () => {
const selectedId = ref(1);
const refreshCount = ref(0);
const rows = [
{ id: 1, name: 'Alpha', score: 92 },
{ id: 2, name: 'Beta', score: 86 },
{ id: 3, name: 'Gamma', score: 78 },
];
return (
<div className="grid gap-4">
{rows.map(row => (
<div key={row.id} v-memo={[row.id === selectedId.value]} className="alert">
<span>{row.name}</span>
<span>selected: {row.id === selectedId.value ? 'yes' : 'no'}</span>
<span>refresh: {refreshCount.value}</span>
</div>
))}
<p r-memo={[selectedId.value]} className="badge badge-outline">
selected id: {selectedId.value}
<span>refresh: {refreshCount.value}</span>
</p>
</div>
);
};
export default VMemoAndRMemo;