根据报错信息,问题出现在item.name.includes(endStation.name)
这一行。报错信息提示无法读取undefined的属性'includes',说明endStation.name
为undefined。
这种情况可能是因为endStation
为null或undefined,或者subwayMapData.path
中的某些元素的name
属性为undefined。
你可以在使用includes
方法之前,先进行一些额外的检查来避免报错,例如:
useEffect(() => {
if (endStation !== null && endStation !== undefined && subwayMapData.path) {
subwayMapData.path.map(item => {
if (item.name && item.name.includes(endStation.name)) {
console.log(item.name);
}
});
}
}, [startStation, endStation, subwayMapData]);
在上面的代码中,我们添加了对subwayMapData.path
和item.name
的检查,以确保它们不为null或undefined。如果subwayMapData.path
为null或undefined,或者item.name
为null或undefined,那么就不会执行includes
方法,从而避免了报错。
请注意,这只是一种解决方案,具体取决于你的数据结构和业务逻辑,你可能需要根据实际情况进行调整。