我的 useEffect 中有一个 mutationObserver,如下所示:
const elem = document.getElementById('map__menu');
const observer = new MutationObserver(() => {
console.log(markers);
});
observer.observe(elem, {
attributes: true,
attributeFilter: ['data-month'],
});
这是为了获得一个名为标记的 useState 列表,我在页面呈现时创建该列表,并在使用页面时将项目添加到此列表。然而,mutationObserver 调用无法获取此列表,并且始终获取一个空列表。我的调用中是否存在明显的问题,因为我之前没有使用过 mutationObserver。所以应用程序看起来基本上是这样的:
const [markers, setMarkers] = useState([]);
useEffect(() => {
const elem = document.getElementById('map__menu');
const observer = new MutationObserver(() => {
console.log(markers);
});
observer.observe(elem, {
attributes: true,
attributeFilter: ['data-month'],
});
}, []);
```