javascript - 防止组件在上下文更改时重新加载 (React)
问题描述
我有一个导入和使用 CONTEXT 的组件。在这个组件中,我根据链接道具呈现来自 CONTEXT 的数据。直到现在一切都很好,但是在同一个组件中,我需要能够更新 CONTEXT,这意味着删除我在该组件中实际使用的数据。这当然会导致错误,因为组件由于 CONTEXT 更改而正在刷新。
有谁知道如何防止在 CONTEXT 更改时重新加载组件?
...other imports...
import AllWarriorsContext from '../../contexts/AllWariorsContext';
export default function WarriorPage() {
let { identy } = useParams();
const [myWarriorsListContext, setMyWarriorsListContext] = useContext(AllWarriorsContext);
const {number} = myWarriorsListContext.find((e) => e.number === identy)); //destructuring from one of the context object
const deleteMe = () => {
setMyWarriorsListContext((myWarriorsListContext) => {
return myWarriorsListContext.filter((e) => {
return e.number !== identy;
});
});
}
return(
<>
<button
onClick={deleteMe} // after click of course i got an error
>
delete
</button>
</>
);
}
解决方案
推荐阅读
- github - 如何转义“#”,使其不会引用 GitHub 评论中的问题?
- ios - AVAsset(url: url).isPlayable 减慢集合视图
- html - Html CSS列表项目符号到图像不起作用
- java - API 'variant.getJavaCompile()' 已过时
- angular - Angular 表单控件不只更新 UI 的值
- google-cloud-functions - 未能配置触发器提供程序/cloud.firestore/eventTypes/document.update
- javascript - React Redux - 减速器突变
- c++ - 为什么常量引用变量不能分配给引用变量但函数可以?
- java - 无法通过 minio 生成的上传链接上传文件
- php - 使用 SSL 刷新页面后会话过期