Kotlin 相当于 JavaScript 中的“导出默认值”

Pav*_*n P 2 javascript kotlin

我正在尝试使用 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)

Ale*_*eev 6

目前,Kotlin/JS 编译器按模块工作,即为一组标记为模块的 Kotlin 源文件(IDEA 中的模块、Gradle 中的项目或 Maven 模块)生成单个 JavaScript 文件。如果将moduleKind编译器选项设置为 或commonjsumd,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 交互的更多信息,请参阅文档: