【问题标题】:React Native Redux Connect won't open android.js or ios.js extensionReact Native Redux Connect 不会打开 android.js 或 ios.js 扩展
【发布时间】: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


【解决方案1】:

我偶然发现了正确的答案。认为值得在这里记录。

我将DashboardView.android.js & DashboardView.ios.js 文件名改为index.android.js & index.ios.js

现在就像一个魅力,一切都很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-20
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 2017-12-07
    • 1970-01-01
    • 2016-10-19
    相关资源
    最近更新 更多