问题描述
这个控制台都打印出信息了,然后返回的却是undefined。这个是什么原因.....
相关代码
粘贴代码文本(请勿用截图)
const toggleCollapsed = () => {
state.collapsed = !state.collapsed;
state.openKeys = state.collapsed ? [] : state.preOpenKeys;
};
const getTitle = (keys:string[],arr:menu[],title = '',index = keys.length - 1)=>{
for (let item of arr) {
if (item.key === keys[index]){
title = title.length === 0 ? title + item.title : title + `/${item.title}`;
if (item.children && index > 0){
getTitle(keys,item.children,title,--index);
}else{
console.log('title',title);
return title;
}
}
}
}
你的getTitle不是所有路径都有返回值,在递归调用哪一行也加上return,再明确知道返回类型的情况下可以指明返回类型,这样typescript就能帮你找错了