【发布时间】:2016-12-05 16:27:38
【问题描述】:
我试图让我的连接器以一种干净且易于阅读的方式为 Android 和 iOS 平台打开一个组件。对我来说,这是将 component.android.js 和 component.ios.js 扩展用于主要不同的东西,比如滑入式抽屉上的标签等。
是的,我知道我可以创建条件的 Platform 对象,但是我真的希望从 ES6 模块的角度来看它是干净的,我不认为条件导入语句是干净的,甚至是不可能的。
'use strict'
import { connect } from 'react-redux';
import DashboardView from './DashboardView';
/* Mapping */
const mapStateToProps = state => {
return {
display: state.app.deviceInformation,
}
}
const mapDispatchToProps = (dispatch, props) => {
return {}
}
export default connect(mapStateToProps, mapDispatchToProps)(DashboardView);
再次,我想要让 DashboardView 自动知道如果在 Android 中它应该打开 DashboardView.android.js 而在 iOS 上显然是 DashboardView.ios.js
对我来说,处理单独的 UI 组件会更干净。
【问题讨论】:
-
您发布的代码示例应该可以正常工作。您能否发布您的组件所在目录的文件结构,以及每个组件的
export语句? -
我的所有组件都通过
export default class DashboardView extends Component正确导出
标签: javascript react-native redux react-native-android react-native-ios