我不是JS或React程序员,但我需要将它用于我的项目。
我想从我的本机代码将值传递给我的React视图,以便它将由React引擎呈现。
我尝试了很多变种
我的原生代码如下:
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"ReactTesting"
launchOptions:@{@"initialProps" : @"<Text>Hello from native code</Text>"}];
rootView.initialProperties = @{@"initialProps" : @"<Text>Hello from native code</Text>"}; // ???
在我的反应代码中,我想渲染JSX:
var ReactForTesting = React.createClass( {
render: function() {
return (The Launch Options that were sent to this view); //How do I render it?
}
});
我尝试在渲染函数中返回各种东西 - 没有渲染:
render : function () {
return this.props; // doesn't work
}
render : function () {
return this.props.initialProps; // doesn't work
}
render : function () {
return this.props.initialProps; // doesn't work
}
also fiddling with:
React.createElement()
React.createClass()..
答案 0 :(得分:3)
在AppDelegate.m中:
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"ReactTesting"
launchOptions:launchOptions];
NSDictionary *initialProps = [NSDictionary dictionaryWithObject: @"Hello from native code" forKey: @"myProp"];
rootView.initialProperties = dict;
然后,您可以在传递给this.props.myProp
的任何组件中访问AppRegistry.registerComponent
。
不确定您为何尝试传递&lt; Text&gt;虽然节点通过你的字符串,这似乎是一个坏主意。只需传递文字内容,然后使用&lt; Text&gt; JS方面的组件。
答案 1 :(得分:0)