反应原生自定义组件

时间:2015-12-10 19:50:32

标签: javascript ios objective-c reactjs react-native

我正在尝试使用ios工具栏并将其导入组件以用于本机反应。我不明白我哪里出错了。当我使用var Tool = require('toolkit.ios.js');

时,我收到错误“uknown module Toolkit.ios.js”

文件在那里。我在这里失踪了什么? 我试图在这里使用工具栏组件来学习本教程 https://facebook.github.io/react-native/docs/native-components-ios.html#content

 #import <Foundation/Foundation.h>

@import UIKit;

#import "RCTViewManager.h"

@interface RCTToolBar : RCTViewManager
@end

@implementation RCTToolBar


RCT_EXPORT_MODULE()

- (UIView *)view
{
  return [[UIToolbar alloc] init];
}

@end

// MapView.js

var React = require('react-native');
var { requireNativeComponent } = React;

// requireNativeComponent automatically resolves this to "RCTMapManager"

class ToolBar extends React.Component {
  render() {
    return <RCTToolBar />;
  }
}

module.exports = requireNativeComponent('RCTToolBar', ToolBar);

编辑:搞砸了复制和粘贴代码。

1 个答案:

答案 0 :(得分:2)

您需要要求文件具有相对路径,例如:var Tool = require('./path/to/componenttoolkit')

此外,您不需要在需求声明中包含ios.js,打包器足够聪明,可以知道您的组件是什么,并且当您想要拥有跨平台组件时,这最终会有所帮助。