javascript - 将 componentDidUpdate(prevProps) 重写为钩子
问题描述
我想把这个生命周期方法改写成一个钩子:
componentDidUpdate(prevProps) {
if (this.props.lng !== prevProps.lng && this.props.lat !== prevProps.lat) {
this.map.setView(new L.LatLng(this.props.lat, this.props.lng), 6);
} else if (this.props.mapTheme !== prevProps.mapTheme) {
this.setMapTheme(this.props.mapTheme);
}
}
我知道使用 useEffect 钩子,但找不到一个很好的例子。
解决方案
useEffect(() => {
map.setView(new L.LatLng(props.lat, props.lng), 6);
}, [props.lng, props.lat]);
useEffect(() => {
setMapTheme(props.mapTheme);
}, [props.mapTheme]);
推荐阅读
- spring - 如何使用 Spring Data JPA 批量选择更新而不使用 queryDsl?
- javascript - 当一个 div 加载时,另一个 div 被删除
- java - 立即从堆中删除对象
- python - 没有名为“imgurpython”的模块
- xpath - 如何将 XPath 转换为 Reassured xmlPath 等价物?
- javascript - 在根元素内反应混合组件和 html
- sql - Sybase - 如何将变量内容输出到文件
- javascript - JS对象方法不更改布尔属性的问题
- r - 以升序重新排序因子(序数)变量
- java - 来自 application.properties 的 Spring Boot 配置