React 原生自定义组件
Posted
技术标签:
【中文标题】React 原生自定义组件【英文标题】:React native custom component 【发布时间】:2015-12-10 19:50:32 【问题描述】:我正在尝试使用 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】:您需要具有相对路径的文件,例如:var Tool = require('./path/to/componenttoolkit')
此外,您不需要在 require 语句中包含 ios.js
,打包程序足够聪明,可以知道您的组件是什么,并且当您想要拥有跨平台组件时,这最终会有所帮助。
【讨论】:
这是问题的一部分,另一个是因为我按照示例并将文件命名为 RCTMapManager.m,它们已经存在,所以我得到了重复的引用。感谢您的意见。以上是关于React 原生自定义组件的主要内容,如果未能解决你的问题,请参考以下文章
如何将 navigator.pop 传递给自定义反应原生组件