2017-10-19 105 views
0

它說,在文檔https://facebook.github.io/react-native/docs/native-components-android.html說:「ViewManagers是單一對象」React-Native:如何創建Native UI組件的多個實例?

如果是這樣的話,我將如何創建我的UI對象的另一個實例上 - 例如說,另一個屏幕上。

這裏是我的代碼小片段:

JS:

import PropTypes from 'prop-types'; 
import React from 'react'; 
import { requireNativeComponent } from 'react-native'; 

var DataViewNative = requireNativeComponent('DataView', myClass); 

class myClass extends React.Component { 

    constructor() { 
    super(); 
    } 

    render() { 
    return (
     <DataViewNative {...this.props} /> 
    ); 
    } 
} 

myClass.propTypes = { 
    graphType: PropTypes.string, 
}; 

module.exports = myClass; 

機iOS(SWIFT):

@interface RCT_EXTERN_MODULE(DataViewManager, RCTViewManager) 

@end 


@objc(DataViewManager) 
class DataViewManager: RCTViewManager { 

    override func view() -> UIView! { 
    return myCustomView() 
    } 

} 

我希望能夠做什麼(JS): 致電:

<myClass/> 

在兩個不同的屏幕上使用兩種不同的render()方法。 會發生什麼情況是,由於RCTViewManager是一個單獨的對象,調用查看()替換舊的電話,因此只有最新的呼叫將有UIView的

回答