我正在尝试使用 Kotlin 构建我的 React Native 应用程序,目前正在将预先存在的 JavaScript 代码转换为它。但我不知道 Kotlin 的等价物export default是什么。是否需要这样的代码?
我正在尝试转换的 JS 类:
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
export default class App extends React.Component {
render() {
return (
<View style={styles.container}>
<Text>Open up App.js to start working on your app!</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
Run Code Online (Sandbox Code Playgroud)
目前,Kotlin/JS 编译器按模块工作,即为一组标记为模块的 Kotlin 源文件(IDEA 中的模块、Gradle 中的项目或 Maven 模块)生成单个 JavaScript 文件。如果将moduleKind编译器选项设置为 或commonjs值umd,Kotlin/JS 会将此文件转换为 CommonJS 模块,导出根包并导入所有依赖模块。您提供的 JavaScript 代码没有直接等效的内容,因此您可能需要更改类的导入方式。
假设您在 Kotlin 中声明了类似的内容:
package my.pkg
class App : React.Component() {
// some code here
}
Run Code Online (Sandbox Code Playgroud)
在名为 的模块中myModule。您可以App通过以下代码将类导入到 JavaScript 中:
const App = require('myModule').my.pkg.App
Run Code Online (Sandbox Code Playgroud)
有关 Kotlin/JS 如何与 JavaScript 交互的更多信息,请参阅文档: