Установить причину состояния использовать повторную визуализацию памятки
Вот код, понятия не имею, зачем Mem повторно визуализировать после установленного состояния, поскольку это мемоизированный компонент, или если я хочу запомнить компонент с установленным состоянием, я должен использовать useRef? что глупо??
const Demo = () => {
console.log("render")
const data = LoadSomeData();
return (<>{data.id}</>)
}
const Mycomp = ({...props}) => {
const [showSearch, setShowSearch] = useState(false);
const Mem = useMemo(() => <Demo />, [props.iwandToReloadData]);
return (
<>
{ showSearch ?
<button onClick={()=>setShowSearch(false)}>Back</button>
:
<>
{Mem}
<button onClick={()=>setShowSearch(true)}>Search</button>
</>
}
</>
)
}
export default Mycomp;
1 ответ
Обратитесь к комментарию Тони Нгуена, это потому, что я использую условный рендеринг для запомненного компонента, поэтому он вызовет размонтирование запомненного компонента. Следовательно, ничего нельзя запомнить.
решение использует css, чтобы скрыть его, а не отображать его для моего случая