RNが初めて探る
2878 ワード
一、環境構成は多く言わないで、直接RN中国語ネットを参照してください.http://reactnative.cn/docs/0.47/getting-started.html#content 二、IDE 1について、筆者が初めて使ったAtom+Nuclideを二日間作りましたが、この時の私の気持ちを二文字で表現するしかないです.原因は次の通りです.AtomでJSの文法を検出したいなら、人工的にflowバージョンを制御します.次にヒントが弱い+定義が難しいです.長い間配合したが,各種は使えない.2.推奨開発ツール:Web Storm.設定は簡単で、ヒント機能が強く、文法ジャンプが正確です.参考資料は:http://blog.csdn.net/shan1991fei/article/details/53507895 しかし、二つのIDEは現在直接Debugできないので、Chromeブラウザを使ってデバッグしなければならないです.これはどうやって破れますか?三、index.iosのJSモジュールはNativeで通常index.ios.jsを使うか?Apple.registry.Component('BlinkApple'、=>BlinkApple;この中で、AppRegistryで登録されたjsモジュールはNativeを感知することができます.
もちろん、Demoのpackage.jsonを修正して、dependenciesの中のreact-nativeのバージョンをあなたのAppで使うRNバージョンに修正して、npm installを再実行してもいいです.「dependencies」:{「react」:「16.0.0-alpha 6」、「react-native」:「0.43.3」、「react-native-elments」:「^0.1.1」、「react-native-vector-incons」:「^4.0.1」
参考資料:http://reactnative.cn/docs/0.47/getting-started.html#content http://blog.csdn.net/shan1991fei/article/details/53507895
NSURL *jsCodeLocation;
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"BlinkAppxxx"
initialProperties:nil
launchOptions:launchOptions];
その中で、BlinkAppleは文字列であり、JSの端をAppRegistry.register Component(『xxx』、()=>BlinkAppp)に変換することができます.Nativeの端では次のように変更すればいいです. RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"xxx"
initialProperties:nil
launchOptions:launchOptions];
四、npm startについての理解npm startは、運行node uです.modules/react-native/local-cli/cli.js startはローカルサーバを起動します.デフォルトは8081ポートを使用していますので、特別な処理をしないと、ローカルは一つのnodeサーバだけで実行できます.nodeサーバが完成したら、シミュレータでデバッグできます.大まかな流れは、node(localhost:8081)サービス(npm startを実行することによって起動する)->index.ios.jsに関連するJS依存パッケージをローカルシミュレータ->moduleName->nodeサーバで作成したJSBundleの中からmoduleName 5を探して、yarnまたはnpm yarnまたはnpm yarnまたはnpmのパッケージに相当するプロジェクトは、aptexcoodsの管理ツールです.実際に実行する時、もし少しの依存がないならば、プロジェクトのディレクトリの中に入って依存の第三者の倉庫を添加することができて、通常の方法は以下の通りです.六、githubからダウンロードしたRN Demoはどうやって運行しますか?デモの中には通常、package.jsonがありますが、これはcocoaspodの中のpodfileに相当します.実行の仕方も似ています.Demoのディレクトリに入るとnpm installが実行され、package.jsonの依存によってnode uが生成されます.modules、そしてDemoを実行することができます.七、なぜデモがうまくいっているのか、自分のアプリで読み込むと間違えますか?通常はDemoとAppが使用するRNバージョンライブラリが一致しないため、この問題を解決する方法はreact-native init MyRNApp--version 0.44.3(もしあなたのAppが使用するRNバージョンが0.44.3)によって指定バージョンのRNプロジェクトを作成し、Demoのコードを作成したばかりのMyRNAppに移植することである.そして、新しく作成したプロジェクトを使ってデバッグを行います.もし合格できれば、Appでも合格できます.もちろん、Demoのpackage.jsonを修正して、dependenciesの中のreact-nativeのバージョンをあなたのAppで使うRNバージョンに修正して、npm installを再実行してもいいです.「dependencies」:{「react」:「16.0.0-alpha 6」、「react-native」:「0.43.3」、「react-native-elments」:「^0.1.1」、「react-native-vector-incons」:「^4.0.1」
参考資料:http://reactnative.cn/docs/0.47/getting-started.html#content http://blog.csdn.net/shan1991fei/article/details/53507895