React Native CLI 项目中的箭头函数逻辑
Arrow function logic in React Native CLI project
我创建了一个新的 React Native CLI 项目,并考虑将 App 组件转换为基于 class 的组件,以在使用 react-navigation 时修复 hot reload issue。
但是我不明白这两个箭头函数的逻辑,以及如何转换它:
const App: () => React$Node = () => {
return <NavigationWrapper />;
};
更新:箭头问题已得到解答,但它对热重载问题没有帮助(我的逻辑中存在一个小故障)。有关解决方案,请参阅 this link。
首先,阅读这段代码时要非常小心。看起来是两个箭头函数,其实第二个'arrow function'是App
的类型注解。所以它与此相同:
const App: (() => React$Node) = () => {
return <NavigationWrapper />;
};
甚至更清楚:
const App = (): React$Node => {
return <NavigationWrapper />;
};
然后,记住箭头函数就像普通函数一样,所以可以这样写:
function App(): React$Node {
return <NavigationWrapper />;
};
所以现在它看起来很清楚了:
class App {
render(): React$Node {
return <NavigationWrapper />;
}
}
我创建了一个新的 React Native CLI 项目,并考虑将 App 组件转换为基于 class 的组件,以在使用 react-navigation 时修复 hot reload issue。
但是我不明白这两个箭头函数的逻辑,以及如何转换它:
const App: () => React$Node = () => {
return <NavigationWrapper />;
};
更新:箭头问题已得到解答,但它对热重载问题没有帮助(我的逻辑中存在一个小故障)。有关解决方案,请参阅 this link。
首先,阅读这段代码时要非常小心。看起来是两个箭头函数,其实第二个'arrow function'是App
的类型注解。所以它与此相同:
const App: (() => React$Node) = () => {
return <NavigationWrapper />;
};
甚至更清楚:
const App = (): React$Node => {
return <NavigationWrapper />;
};
然后,记住箭头函数就像普通函数一样,所以可以这样写:
function App(): React$Node {
return <NavigationWrapper />;
};
所以现在它看起来很清楚了:
class App {
render(): React$Node {
return <NavigationWrapper />;
}
}