React-native: ☂️リーンコア

作成日 2019年02月06日  ·  196コメント  ·  ソース: facebook/react-native

過去数ヶ月間、私たちは「リーンコア」と呼ばれるプロジェクトについて話し合い、進展を遂げてきました。 このプロジェクトの動機をお読みください。 何年にもわたって、React Nativeは多くのパーツを蓄積してきましたが、それらは現在、古くなっているか、未使用であるか、そうでなければレガシーです。 今後は、すべてをクリーンアップして、リポジトリをはるかに管理しやすい状態にするときが来ました。

これは、リポジトリの再編成の回避策を含む、よりスリムなコアの目標を達成するために必要なすべての作業を追跡することを目的とした包括的なタスクです。 この問題は最新の状態に保たれているため、新しいアイテムが追加され、完成したアイテムは(再)削除されます。 一部のアイテムは、作業を追跡するために個別の問題を生成します。 以下の項目のいずれにも名前が割り当てられておらず、支援したい場合は、コメントにボランティアとして参加し、私に連絡して開始してください。

コンポーネントとランタイム

React Nativeには現在、多数のコンポーネントが付属しており、その多くは非推奨または古くなっていますが、それでもリポジトリの一部であり、アプリケーションのサイズが大きくなります。 このセクションのアイテムについては、未使用の場合は完全に削除するか、コミュニティが管理するリポジトリまたはfacebookarchiveに移動したいと考えています。 ここにあるリストは、@ axe-fbによるすばらしい調査に部分的にhttps

  • [] ImageStore(@cpojer)を削除します
  • [] PushNotificationIOS(@cpojer)を削除します
  • [] AsyncStorageを削除します(@cpojer)
  • []スライダーを削除します(@cpojer)
  • [] ProgressBarAndroid(@cpojer)を削除します
  • [] ProgressViewIOS(@cpojer)を削除します
  • [] MaskedViewIOS(@cpojer)を削除します
  • [] ActionSheetIOS(@cpojer)を削除します
  • [] ImagePickerIOS(@cpojer)を削除します
  • [] PickerとPickerIOSを削除します(@cpojer)
  • [] DatePickerAndroid、DatePickerIOS(@cpojer)を削除します
  • [] ReactART(@cpojer)を削除します

サードパーティの依存関係

何年にもわたって、私たちは大量の依存関係、特にJavaScriptを蓄積してきました。 また、 Metroreact-native-cliなど、ReactNativeから物事を移動しました。 これは、package.jsonに大量のツールの依存関係を残したことを意味します。その多くは、RN自体によって使用されず、最新バージョンに更新されないため、ReactNativeのフルインストールが肥大化します。 また、使用されているすべての依存関係を監査し、削除できる依存関係を特定することもできます。

  • JavaScriptの依存関係

    • []どの依存関係が大きいか、そしてそれらを小さくできるかどうかを確認します

    • []セキュリティ修正のために最新バージョンにアップグレードできる依存関係を把握する

    • []インストールサイズを小さくするために、どの依存関係を重複排除できるか(=バージョンの不一致を減らす)を把握する

  • ReactNativeコードを外部の依存関係に移動する

    • []コピーや独自の実装を維持する代わりに、サードパーティのパッケージがより適切に提供できるJavaScriptコードを特定します

リポジトリ構造

現在、React Nativeリポジトリは、関心の分離を促進する組織がほとんどない大規模なリポジトリです。 この取り組みの一環として、物事をより管理しやすい構造に移行することも私たちの目標です。 その一環として、複数の小さなパッケージで構成されるモノレポモデルに従いたいと思います。 これは段階的な移行であり、これを軌道に乗せるための最初の作業のみを追跡します。

  • []複数のパッケージを使用して、既存のリポジトリで機能し、Facebookの内部設定(@cpojer)でもうまく機能する初期設定を提供します。
  • [] TODO:この分野で必要な作業をさらに特定する

完成した作品


この問題が作成される前の以前の作業を表示するには、クリックしてください

Good first issue Help Wanted Ran Commands Discussion

最も参考になるコメント

リーンコアの取り組みで誰もが行っている進捗状況について簡単に更新したいと思います。 たった一週間であなたの貢献に私がどれほど驚いたかを言いたいだけです。 どうもありがとうございました!

すでに完了しているすべての作業は次のとおりです。

  • NetInfo(https://github.com/react-native-community/react-native-netinfo)は正常に分割され、@ matt-oakesによって@ react-native-community / netinfoを介してnpmでリリースされ、新しいテストも追加されました。モジュールの新機能!
  • ViewPagerIOS(https://github.com/react-native-community/react-native-viewpager/pull/1)は、@ ferrannpによって正常に分割されました。
  • AsyncStorage(https://github.com/react-native-community/react-native-async-storage)は@Krizzuによって引き出されました。
  • StatusBar(https://github.com/react-native-community/react-native-statusbar/pull/1)は、@ dmtrKovalenkoによって別のリポジトリに移動されました。
  • スライダー(https://github.com/react-native-community/react-native-slider/pull/1)は@michalchudziakによって分割されました。
  • MaskedViewIOS(https://github.com/react-native-community/react-native-masked-view/pull/1)は、@ FonDornによってコミュニティリポジトリになりました。
  • PushNotificationIOS(https://github.com/react-native-community/react-native-push-notification-ios/pull/1)は@rafaellincolnによって抽出されました。
  • ImageEditor(https://github.com/react-native-community/react-native-image-editor/pull/1)は@Tranceverによって抽出されました。
  • @EvanBaconは、#23330にImageStoreの非推奨メッセージを追加しました。
  • @wellmongeは#23318でAlertIOSとAlertをマージしました。
  • Callstackのエンジニアは、新しいReact Native CLIの最初のバージョンをリリースしました: https

また、これらのモジュールを抽出することで、これらのモジュールのメンテナンスを改善する方法を強調したいと思います。つまり、@ matt-oakesがNetInfoのテストを追加しました(https://github.com/react-native-community/react-native-netinfo/pull/ 4)および@ifsnowはフロータイプをAsyncStorage(https://github.com/react-native-community/react-native-async-storage/pull/4)に追加しました。 これらのコンポーネントをReactNative(およびFacebook)から切り離すことで、Facebookの従業員にブロックされることなく、個別にはるかに高速に移動できます。 さらに、既存の問題とプルリクエストをReact Nativeリポジトリから移行できるため、React Native自体の保守も簡単になり、プルリクエストにすばやく応答できるようになります。

これは私たちが取り組んでいる、または次に取り組んでいるものです:

  • VibrationIOSを削除します
  • 未使用のサードパーティの依存関係を削除します
  • 新しいreact-native-communityパッケージを使用するためのFacebook内部コードの移行を開始します

繰り返しになりますが、これまで支援してくださった皆様、ありがとうございました!

全てのコメント196件

@cpojerSnapshotViewIOSを削除したい🔪

ねえ@cpojer 、すべてをまとめてくれてありがとう!

AsyncStorageの移動から始めて、いくつかの問題に取り組んでいきます。

NetInfoをコミュニティリポジトリに移動するお手伝いをさせていただきます。

最初に個人のGithubリポジトリを作成し、準備ができたらそれをreact-native-community組織に移行するのが最善でしょうか、それともその組織のリポジトリからすぐに開始する必要がありますか?

@cpojer 、この問題のいくつかを支援したいのですが、「AlertIOSとAlertのマージ」から始めてもよいですか?

すごい! 上記の項目の横にあなたの名前を書きました。

@jdmunro PRを送って、私をそれに割り当てることができますか? それから私はそれを引き継いで着陸する前にFB特有のものを取り除くことができます。
@Krizzuと@ matt-oakeshttps ://github.com/react-native-community/react-native-async-storagehttps://github.com/react-native-community/react-native-netinfoを作成しましたサードパーティのモジュールにするために必要なすべてのコードを使用してPRを送信します。 理想的には、最初のステップで、RNリポジトリからコードを取得し、それらを別々のリポジトリに配置します。 それが機能することを保証するために、依存関係としてそれらをRNにリンクし直し、元の実装を削除することができます。 さらに下流では、実際にオプションのパッケージに移動できます。
@wellmongeいいですね! 作業の内容は完全にはわかりませんが、2つのモジュールをチェックして、それらを統合できるかどうかを確認できますか?

@cpojerスライダーの移動を手伝うことができます🙂

その後、まだ助けが必要な場合は、他の何かを拾うことができます

@michalchudziak素晴らしい! https://github.com/react-native-community/react-native-sliderを作成しました。次に何をするかについては、上記のコメントをご覧ください。

package.jsonのプロジェクトの名前として、 @react-native-community/<project name>を使用してください。 @react-native-community/slider

@cpojer ViewPagerAndroid取ることができます。 他のパッケージがiOS用のJSでこの動作を実装し、Android用のネイティブリポジトリで中継するため、単に削除するよりも、コミュニティリポジトリに移動する方が良いと思います(私のためにリポジトリを作成できる場合は、thx😄)。

ねえ@cpojerPicker

@ferrannpはあなたのためにhttps://github.com/react-native-community/react-native-viewpagerを作成しました! 上記のメッセージを参照してください。
@jainkuniyaありがとう! それがどのように見えるかは正確にはわかりませんが、それらを統合して、ネイティブに反応するために小さなPRを送信し始める方法を理解できるかもしれません。

すごい! 上記の項目の横にあなたの名前を書きました。

@jdmunro PRを送って、私をそれに割り当てることができますか? それから私はそれを引き継いで着陸する前にFB特有のものを取り除くことができます。
@Krizzuと@ matt-oakeshttps ://github.com/react-native-community/react-native-async-storagehttps://github.com/react-native-community/react-native-netinfoを作成しましたサードパーティのモジュールにするために必要なすべてのコードを使用してPRを送信します。 理想的には、最初のステップで、RNリポジトリからコードを取得し、それらを別々のリポジトリに配置します。 それが機能することを保証するために、依存関係としてそれらをRNにリンクし直し、元の実装を削除することができます。 さらに下流では、実際にオプションのパッケージに移動できます。
@wellmongeいいですね! 作業の内容は完全にはわかりませんが、2つのモジュールをチェックして、それらを統合できるかどうかを確認できますか?

承知しました! 私はそれをしてあなたに報告します。

StatusBarIOSとPushNotificationIOSを支援できます

@cpojer Androidパッケージ名に好みはありますか?

例としてNetInfoを使用すると、現在はcom.facebook.react.modules.netinfoです。 com.reactnativecommunity.modules.netinfoようなものを使用して、抽出されたすべてのモジュールで標準にする必要がありますか?

手伝ってもらえますか

  • SegmentedControlIOSをコミュニティリポジトリに移動します
  • ProgressViewIOSをコミュニティリポジトリに移動します

チェックボックスをとってください。


問題を送信していただきありがとうございます。 説明をもう一度見て、問題テンプレートが完全に入力されていることを確認できますか?

👉バグレポートの問題テンプレートをもう一度確認したい場合は、ここをクリックしてください。

@dmtrKovalenkoは、 https://github.com/react-native-community/react-native-statusbarで作成されたStatusBarIOSにあなたを置きました
パッケージ名の@ matt-oakesコミュニティは良さそうですが、既存のコミュニティを維持すれば、それでも問題ありません。
@kdenzセグメント化されたhttps://github.com/react-native-community/react-native-segmented-controlを作成しました
@vonovakチェックボックスリポジトリ用にhttps://github.com/react-native-community/react-native-checkboxを作成しました

抽出のために実行する必要がある大まかな手順を要約すると、次のようになります。

  1. 作業中のモジュールの現在のバージョンとそのすべての依存関係を別のgitリポジトリに抽出し、RNコミュニティ用に作成されたものにPRを送信します。 ネイティブコードが含まれている場合の動作例については、 react-native-webviewを参照してください。
  2. すでに存在するwarnOnceモジュールを使用してReact Nativeに非推奨の警告を追加します。例については、 react-native-implementation.jsを参照してください。
  3. 次に、すべての問題/ PRを閉じ、代わりに新しく作成されたプロジェクトとリポジトリを使用するように人々に指示します。
  4. 1、2回のリリース後、React Nativeからコードを完全に削除します。その時点で、外部モジュールのみが機能します。
  5. または、RNリポジトリからコードをすぐに削除するアプローチを試すこともできますが、React Nativeの依存関係として新しいコミュニティリポジトリを追加し、既存のAPIをそのまま機能させます。 ただし、ネイティブの依存関係を持つモジュールでそれが機能するかどうかはわかりません。

ご不明な点がございましたらお知らせください:)

  • ImageStoreをコミュニティリポジトリに移動します

既存のFileSystemソリューションを優先して、これを廃止する必要があると思います。 コアユースケースは、イメージからBase64を取得することです。 また、Androidのサポートもありません。

ねえ@cpojer! 私は助けます

  • MaskedViewIOSを削除し、場合によってはコミュニティリポジトリに移動します

手伝いたい!
作業できますか

  • ProgressBarAndroidをリポジトリから削除し、コミュニティリポジトリに移動する可能性があります

ねえ@cpojer! 手伝ってもらえますか

  • ActionSheetIOSネイティブコードをexpoに移動します。

@cpojerお手伝いしたいのですが、Libraries / CameraRoll(ImagePickerIOSおよびCameraRollコンポーネント)にサインアップしてください

RNTesterアプリには独自のpackage.jsonがないため、削除するコンポーネントはRNTesterアプリから削除するか、依存関係としてコアに残す必要があります。 この痩身に関して、RNTesterのアプローチは何ですか?

@cpojerクリップボードをコミュニティリポジトリに移動するのを手伝うことができます:)

このタスクを手伝ってもらえますか? @cpojer

  • Pickerをコミュニティリポジトリに移動します。

@jainkuniyaたぶん私たちは一緒に働くことができますか?

@zhaozhiming ya確かに、私が計画していたのは、最初にRNリポジトリ自体にマージしてから、コミュニティリポジトリに移動することです。

面白い。 RNTesterはどうなりますか? すべてのコンポーネントでそれを維持できることを願っています。

@cpojer私は助けることができます

  • 「共有」をコミュニティリポジトリに移動します

また、ある種の調整されたテンプレートがあると非常に役立つので、libとしてネイティブコードがあり、それを開発して貢献する簡単な方法です。

@pvinisたぶん私が取り組んでいるNetInfoリポジトリからのこのコミットを見てください:

https://github.com/matt-oakes/react-native-netinfo/tree/83e96b30fda1c18f62d27ec0db61db7f56eddc1f

NetInfoコードはまだありませんが、ライブラリのAndroidとiOSの部分と、ネストされたpackage.jsonを必要とせずにリンクするサンプルプロジェクトがあります。

NetInfoコードを移動してから、RNTesterの例をexampleプロジェクトに移動することを計画しています。

@EvanBaconはいいですね。 サインアップしてRNに警告を追加し、ImageStoreを廃止し、サードパーティのソリューションを推奨しますか?

@ matt-oakesはすでにNetInfoで素晴らしい仕事をしています。これは、すべての抽出をミラーリングするためのモデルです: //github.com/react-native-community/react-native-netinfo/pull/1

@ matt- oakesとしての@pvinisは、すべてのプロジェクトに独自の例とテストコードが必要であると述べています。 すべて完了したら、最も一般的に使用されるすべての抽出モジュールを取得して1つのアプリにまとめる単一のRNTesterの例を作成することを検討できます。

VirtualizedListは残っていますよね? 以前リストで見ましたが、もう見ていません。

ねえ@cpojerImageEditorを移動してレポを分離することができます。

ねえ@cpojer私はこれに取り組みたいです

  • ReactNativeで直接使用されていないpackage.jsonのすべての依存関係を特定します

@ matt-oakesこのlibの開発をどのようにテストまたは支援する予定ですか? libを組み込んだプロジェクトが必要です。このプロジェクトは、簡単に更新/破棄して再作成することができます。

この方法で他の人が貢献するのは簡単です。 これは「例」のアプリかもしれませんが、私の考えでは、「例」のアプリはlibの使用方法を示すためのものであり、「dev」アプリはlibの開発やテストなどができる場所です。

そのためのアイデアはありますか?

@brunolemosはい、そうです、最初にそこに入れてしまった私の間違いをお詫びします。

@Trancever私はあなたがPRを送るためにhttps://github.com/react-native-community/react-native-image-editorを作成しました!
@ nimish-guptaそれはすごい! 分析を行い、未使用の依存関係について説明する別の問題を作成できますか。 または、削除できる理由(つまり、見つからないなど)を明確に説明したプルリクエストを送信します。
@pvinis現在、スキャフォールドを作成することが理にかなっているかどうかについて話し合っています。 それができるまで、 https://github.com/react-native-community/react-native-webviewまたはhttps://github.com/react-native-community/react-nativeの構造に基づいて作業を行い

PickerIOSとピッカープロジェクトの@cpojerこんにちは、私は、次の手順に行くことを計画しています:

  • 追加warningPickerIOS 、それが廃止されており、さらにリリースで削除されることを、。
  • リリース後、 RNからPickerIOSを削除します。

それまでの間、 Pickerをコミュニティリポジトリに移動できます。

提案?

@jainkuniyaアイデアは良いと思いますが、Pickerは内部でPickerIOSを使用していることに注意してください。 PickerAndroidとPickerIOSを取り除き、代わりにPickerのみを公開できれば最高だと思いますが、どう思いますか? 他の多くのコンポーネントはすでにこのように機能しています。

NetInfoコードを移動するために私が行ったプロセスのアイデアを人々に提供するために:

1) create-react-native-libraryを使用してスキャフォールディングを生成しました: npx react-native-create-library --platforms ios,android --package-identifier com.reactnativecommunity.netinfo --prefix RNC --license MIT netinfo
2)新しいライブラリプロジェクトのルートでreact-native init NetInfoExampleを実行して、サンプルプロジェクトを作成しました。 次に、作成したフォルダの名前をexampleだけに変更しました。
3) example/package.jsonを削除し、依存関係とスクリプトをルートpackage.json 。 また、 babel.config.jsような他の生成されたファイルのいくつかをプロジェクトのルートに移動しました。
4)AndroidgradleファイルとXcodeプロジェクトの例のReactNativeライブラリへの参照を更新しました。 ../node_modules/react-native検索と置換を行い、それを../../node_modules/react-nativeに置き換えるだけで十分でした。
5) MainApplication.javaおよびAppDelegate.mのメインモジュール名へのパスをindexからexample/index更新しました。
6) babel-plugin-module-resolverモジュールを追加し、 babel.config.jsこのように構成しました。 これにより、ユーザーと同じ方法でライブラリコードをインポートできます。
7)ライブラリプロジェクトをサンプルプロジェクトに手動でリンクしました。 これは通常の方法と非常に似ていますが、Androidでのsettings.gradleのパスは../../androidこのように)。
8)次に、ネイティブコードファイルを移動し、古いRCT代わりにRNC (React Native Community)プレフィックスを付けて名前を変更しました。 Javascriptコードをjsに配置し、インデックスパスをpackage.json
9)次に、例をRNTesterからexampleプロジェクトに移動し、コードを少し整理しました。 RNTesterからコピーした例を含める方法として、 example/index.jsファイルを自由に入手してください。 もともとRNTesterにあったような軽量のラッパーです。
10) react-native-webviewの設定方法

うまくいけば、それは人々を助けるでしょう:)

@pvinis特にNetInfoのように表面積が小さい場合、ライブラリの使用方法を人々に示すことと開発を支援することの間には多くのクロスオーバーがあると思います。 プロジェクトのexampleは、両方の目的をほぼ同時に満たします。

自動テストについては、まだ完全には調べていませんが、以前はJet (Detoxに基づいており、 react-native-firebase使用されています)を使用して、 react-native-を使用したエンドツーエンドのテストを行ってい

驚くばかり。 数日前、アプリの機能をライブラリに抽出しようとしたときに、同じプロセスを実行しました。 package.json削除と他のいくつかの小さな手順は実行しません

詳細をありがとう。 :)

@cpojer SnapshotViewIOSは、一部のiOS統合テストでも内部的に使用されているようです。 RCTTestネイティブモジュールに対してリンクする場合にのみ使用できます。 使用法はここにあります: https

パブリックRNエクスポートからSnapshotViewIOSを削除するだけですか?つまり、テストで使用するためにプライベートで引き続き使用できるはずですか?

インポートされているファイルの履歴を保持する方法についていくつかの議論がありました。 私はこのガイドが本当に便利で、NetInfoモジュールでそれを実行できることを発見しました。

https://stosb.com/blog/retaining-history-when-moving-files-across-repositories-in-git/

要約すると、最初にコピーする必要のあるファイルを見つける必要があります。 次に、次のようなスクリプトを作成します。

#!/bin/bash

mkdir -p combined/

# Pipe output to silence "file not found" warnings.
mv ReactAndroid/src/main/java/com/facebook/react/modules/netinfo/NetInfoModule.java combined/ 2>/dev/null
mv Libraries/Network/RCTNetInfo.h combined/ 2>/dev/null
mv Libraries/Network/RCTNetInfo.m combined/ 2>/dev/null
mv Libraries/Network/NetInfo.js combined/ 2>/dev/null

true

このファイルはリポジトリの外に置く必要があります。

次に、次のコマンドを実行する必要があります。

git fetch origin --unshallow
git checkout -b history
git filter-branch -f --prune-empty --tree-filter ~/treefilter.sh @
git filter-branch --prune-empty -f --subdirectory-filter combined

最初のfilter-branchコマンドにはしばらく時間がかかり、スクリプトを使用して、関心のあるすべてのファイルを1つのフォルダーに移動します。 2番目のコマンドはかなり高速で、ファイルを新しいフォルダーからルートに移動し、保持するファイルを変更するコミットのみを保持します。

その後、次のような履歴になります: https

こんにちは、 @ cpojer私は

  • ProgressViewIOSをコミュニティリポジトリに移動します

ありがとうございました

フェッチポリフィルに関する注意:

フェッチポリフィルをリポジトリから削除し、可能であればwhatwg-fetchを直接再利用します

Blobモジュールは標準ではなく、リソースを自動的に解放しないため、フォークする必要がありました。 新しいネイティブモジュールシステムを使用して自動リソースクリーンアップを実装する方が簡単なはずですが、それまではフォークされたポリフィルを保持する必要があります。

@cpojer 「共有」をコミュニティリポジトリに移動することは、現在、react-native内の共有よりも豊富な機能セットを持つ別のリポジトリを指します。 そのため、react-native-simple-shareなどの名前の新しいリポジトリが必要です。

このブランチをご覧ください(新しいコミュニティリポジトリを取得したら、このリポジトリを削除します)

フェッチポリフィルに関する注意:

フェッチポリフィルをリポジトリから削除し、可能であればwhatwg-fetchを直接再利用します

Blobモジュールは標準ではなく、リソースを自動的に解放しないため、フォークする必要がありました。 新しいネイティブモジュールシステムを使用して自動リソースクリーンアップを実装する方が簡単なはずですが、それまではフォークされたポリフィルを保持する必要があります。

AbortController.Signalのサポートが必要なため、フォークされたポリフィルの更新を検討していました。 それはコア内のフェッチポリフィルの将来に適合しますか?

@cpojerPushNotificationIOS

@cpojer私は助けることができます

  • ImageEditorをコミュニティリポジトリに移動します

ありがとう!

@ nicholaslee119作成されたhttps://github.com/react-native-community/react-native-progress-view 。 進捗状況については、上記のコメントを確認してください。
@Ansalibrahim良い点。 https://github.com/react-native-community/react-native-simple-shareを作成しました。 そこにPRを送ってください!
@rafaellincoln作業用にhttps://github.com/react-native-community/react-native-push-notification-iosを作成しました。
@dratwas @Tranceverはすでにその上にあります、それのために作成されたレポで彼と一緒に働いてください。
@ Jyrno42必要なものすべてをサポートするサードパーティのポリフィルにアップグレードできますか?

@cpojer申し訳ありませんが、 @ Tranceverがその上にあるのを見ませんでした。
Move ImageStore to a community repoがまだ取得されていない場合は取得できますが、 Move ImagePickerIOS to a community repo

AsycnStorageとPushNotificationIOSが削除される理由を誰かに教えてもらえますか? どちらも多くのアプリで使用されていると思いますので、削除するのではなく、コミュニティに移動できるのではないでしょうか。

特にPushNoticationIosは多くの人に使われています。 PushNotificationIosを使用しているhttps://github.com/zo0r/react-native-push-notificationを使用してい

@vdlindenmark AsyncStorageは削除されていませんが、コミュニティに移動されています

ピッカーを持っていきたい!!!

Move ImagePickerIOS to a community repoがまだ取得されていない場合は、喜んでお手伝いします😄

ねえ@cpojer PickerIOSPickerをマージするために#23359を送信しました。 レビューしてください:)。

この問題は固定する必要があります📌

@dratwasすみません、そこで混乱しました。 @EvanBaconが指摘しているように、サードパーティのオプションがすでに利用可能であるため、実際にはImageStore完全に非推奨にしています。 別のモジュールにボランティアで参加しますか?
@Krizzuが指摘しているように、 @ vdlindenmarkは、これらのモジュールの両方がコミュニティモジュールに固執する予定です。
@KeraitoPRを送信するためのhttps://github.com/react-native-community/react-native-image-picker-iosを作成しました。
@andersonaddo完了! 提案をありがとう。

@cpojer AccessibilityInfoをコミュニティリポジトリに移動する可能性も評価されているのではないでしょうか。

それがコアから離れて生きることができるかどうかはわかりませんが、React-Nativeのアクセシビリティサポートを増やすことの利点はわかります。

ビューレイヤーへのアクセシビリティサポートを増やし、クロスプラットフォームにするための提案がすでにいくつかあります(https://github.com/react-native-community/discussions-and-proposals/pull/56、https:// github.com/react-native-community/discussions-and-proposals/pull/55、https://github.com/react-native-community/discussions-and-proposals/pull/54)、しかしRNがしないこと現時点では提供しておらず、問題や提案はありません。これは、運用システムレベルでの一部のユーザーのa11y設定へのアクセスです。 たとえば、「モーションを減らす」オプションを取得する方法はありません。これは、アニメーションを減らす/オフにする

iOSでUIAccessibility提供するオプション(Androidで同等のものはわかりません)はAccessibilityInfoから利用できると思います。

そして、コミュニティリポジトリを持つことで、その特定の問題に対してより多くの貢献を引き付けることができます。

ありがとうございました。

@cpojer割り当てられていないモジュールが表示されないので、サポートが必要な場合は

  • ImageEditorをコミュニティリポジトリに移動します

@elucasworkアクセシビリティは非常に重要であり、
@dratwasはいいですね!

  • Pickerをコミュニティリポジトリに移動します。

@cpojerこの問題を開始できますか?

RNが現在提供しておらず、問題や提案がないものは、運用システムレベルでの一部のユーザーのa11y設定へのアクセスです。 たとえば、「モーションを減らす」オプションを取得する方法はありません。これは、アニメーションを減らす/オフにする

私はによって提供されるオプションだと思うUIAccessibilityのiOS上では(私はAndroid上で同等のを知っていない)から入手できる可能性がAccessibilityInfo

今日、React Nativeの「reducemotion」オプションの読み方を考えていましたが、実装されていないようです。

機能リクエストを実行し、それをある程度可視化するための最良の方法は何でしょうか? https://react-native.canny.io/feature-requestsはまだ機能リクエストの優先フォーラムですか?

VibrationIOS何をすべきですか? 2016年3月以降、 Vibrationを優先して非推奨としてマークされています。 簡単に削除できる候補のようです。

@hramos素晴らしい提案! 私はそれを取り除くのを手伝うつもりです。

@cpojer Picker / PickerIOSが誰にも割り当てられていないことに気づきました。 できれば私も取り組んでいきたいと思います。

こんにちは@rafaellincoln 、ピッカーのものについては、最初にRNリポジトリ自体で結合してから、コミュニティリポジトリに移動することを計画していると思います。 マージのために私はPR#23359を提出しました

リーンコアの取り組みで誰もが行っている進捗状況について簡単に更新したいと思います。 たった一週間であなたの貢献に私がどれほど驚いたかを言いたいだけです。 どうもありがとうございました!

すでに完了しているすべての作業は次のとおりです。

  • NetInfo(https://github.com/react-native-community/react-native-netinfo)は正常に分割され、@ matt-oakesによって@ react-native-community / netinfoを介してnpmでリリースされ、新しいテストも追加されました。モジュールの新機能!
  • ViewPagerIOS(https://github.com/react-native-community/react-native-viewpager/pull/1)は、@ ferrannpによって正常に分割されました。
  • AsyncStorage(https://github.com/react-native-community/react-native-async-storage)は@Krizzuによって引き出されました。
  • StatusBar(https://github.com/react-native-community/react-native-statusbar/pull/1)は、@ dmtrKovalenkoによって別のリポジトリに移動されました。
  • スライダー(https://github.com/react-native-community/react-native-slider/pull/1)は@michalchudziakによって分割されました。
  • MaskedViewIOS(https://github.com/react-native-community/react-native-masked-view/pull/1)は、@ FonDornによってコミュニティリポジトリになりました。
  • PushNotificationIOS(https://github.com/react-native-community/react-native-push-notification-ios/pull/1)は@rafaellincolnによって抽出されました。
  • ImageEditor(https://github.com/react-native-community/react-native-image-editor/pull/1)は@Tranceverによって抽出されました。
  • @EvanBaconは、#23330にImageStoreの非推奨メッセージを追加しました。
  • @wellmongeは#23318でAlertIOSとAlertをマージしました。
  • Callstackのエンジニアは、新しいReact Native CLIの最初のバージョンをリリースしました: https

また、これらのモジュールを抽出することで、これらのモジュールのメンテナンスを改善する方法を強調したいと思います。つまり、@ matt-oakesがNetInfoのテストを追加しました(https://github.com/react-native-community/react-native-netinfo/pull/ 4)および@ifsnowはフロータイプをAsyncStorage(https://github.com/react-native-community/react-native-async-storage/pull/4)に追加しました。 これらのコンポーネントをReactNative(およびFacebook)から切り離すことで、Facebookの従業員にブロックされることなく、個別にはるかに高速に移動できます。 さらに、既存の問題とプルリクエストをReact Nativeリポジトリから移行できるため、React Native自体の保守も簡単になり、プルリクエストにすばやく応答できるようになります。

これは私たちが取り組んでいる、または次に取り組んでいるものです:

  • VibrationIOSを削除します
  • 未使用のサードパーティの依存関係を削除します
  • 新しいreact-native-communityパッケージを使用するためのFacebook内部コードの移行を開始します

繰り返しになりますが、これまで支援してくださった皆様、ありがとうございました!

@cpojer

  • 未使用の依存関係を削除する
  • ReactNativeで直接使用されていないpackage.jsonのすべての依存関係を特定します

上記のタスクは、PR#23428および#23467を使用して完了します

@cpojer

  • SwipeableListを削除します

#23484で対処されており、必要に応じてListViewの削除も行うことができます。

FWIW、CameraRollはListViewに依存しています。 たぶん、最初にそれを移動することは、ListViewを削除するのに役立つでしょう。

FWIW、CameraRollはListViewに依存しています。 たぶん、最初にそれを移動することは、ListViewを削除するのに役立つでしょう。

RNTesterのCameraRollViewファイルは、ReactNativeでListViewを使用している唯一のもののようです。 おそらく、それをFlatListにスワップするPRは、その依存関係を解消するために行うのに良いことでしょう。 CameraRollが完全に引き出される前にそれが起こった場合、私は喜んで受け入れます

他のバージョンと比較すると、サイズが大きくなっています。これが重要なポイントです。したがって、react native 0.58.4でサイズを小さくする方法はありますか。1ページだけで、18MBかかりました。
以下は私の依存関係です
"react": "16.6.3", "react-native": "0.58.4", "react-native-elements": "^1.0.0", "react-native-gesture-handler": "^1.0.15", "react-native-vector-icons": "^6.3.0", "react-navigation": "^3.2.3"

navigatorIosがrn0.59から削除されているのを見ました。 すでにコミュニティパッケージがあるのだろうか? @cpojer

@cpojer誰かがこれに取り組み始めていない場合、私はこれに

  • フェッチポリフィルをリポジトリから削除し、可能であればwhatwg-fetchを直接再利用します

@ nimish-gupta試してみてください! いくつかの落とし穴があるかもしれませんが、PRでそれについて話し合い、それがどうなるかを見ることができます。 これを行うのは現実的ではないかもしれませんが、どこまで到達できるか試してみましょう。

@cpojer KeyboardAvoidingViewがコアを維持するのに十分役立つかどうか疑問に思います。
https://github.com/APSL/react-native-keyboard-aware-scroll-viewなどのより堅牢なソリューションのためのスペースを提供するためにそれを削除することも考えましたか、それともコアにとどまることが非常に便利ですか

@elucaswork私たちは実際にそれをFBで驚くほど

ここで素晴らしい仕事。 しかし、私はNetInfoとAsyncStorageを使おうとしていましたが、 podspecファイルが欠落しているようです。 @cpojer私たちの多くはポッドを使用していると思いますが、ネイティブiosコードを持つreact-nativeパッケージで一種の標準にするべきではありませんか?

ここで素晴らしい仕事。 しかし、私はNetInfoとAsyncStorageを使おうとしていましたが、 podspecファイルが欠落しているようです。 @cpojer私たちの多くはポッドを使用していると思いますが、ネイティブiosコードを持つreact-nativeパッケージで一種の標準にするべきではありませんか?

React Nativeポッドファイルにサブスペックがあり、おそらく新しいリポジトリに追加する必要があるようです: https

@ syaau @ TheSavior良い場所です。 Podspecを新しいNetInfoリポジトリに追加するためのPRを開きました。

https://github.com/react-native-community/react-native-netinfo/pull/17

私の経験では@cpojer KeyboardAvoidingViewは本当に不安定です、多分これはそれがコアにとどまるつもりならそれを改善する良い機会ですか?

ARTを優先して、 react-native-svg ARTを廃止することを提案したいと思います。

@justDanielMataええ、それがコアのままであれば改善されるべきだと私は
@EvanBaconこれについてチームと話し合い、

RNリポジトリからWebViewを削除します

これを取ってうれしいです

@ericlewis残念ながら、私たちはまだ内部的に依存しているため、FB側からしか実行できません。

NavigatorIosreact-nativeから削除されました。 @ cpojerreact-native-community下にリポジトリを作成できますか? よろしければ元に戻したい

私はここに作業バージョンがあります
https://github.com/michaelknoch/react-native-navigator-ios

@sijad (fyi:壊れたフロータイプのインポートは修正していません)

@sijadコンポーネントをreact-native-community入れたいのですが、それでも使用することをお勧めします。 上記のLeanCoreの一部としてReactNativeから移行するコンポーネントはすべて、アプリで使用できる優れたコンポーネントです。 NavigatorIOSは、他のナビゲーションソリューションを推奨しているため、ユーザーに引き続き使用してもらいたいものではありません。 ただし、 @ michaelknochがそれを維持するために彼にそれを引き受けたようですので、他の何かに移動できるまでそのバージョンを使用することをお勧めします。

しかし、なぜnavigatoriosの使用を勧めないのですか? JSベースのナビゲーション(fe react-navigation)のパフォーマンスは十分に速いので、ネイティブナビゲーションは必須ではなくなったと思いますか?
@cpojer

@cpojerこんにちは、ProgressViewIOSのPRを作成しましたhttps://github.com/react-native-community/react-native-progress-view/pull/1

それどころか、 @ michaelknochは、ネイティブナビゲーションソリューションを使用することを強くお勧めします。 たまたま、NavigatorIOSは、Facebookでは使用されなくなったレガシーナビゲーションシステムでした。 現在、Facebookでは独自のカスタムネイティブナビゲーションシステムを使用していますが、残念ながらオープンソースではありません。 https://github.com/wix/react-native-navigationを使用することをお勧めし
@kdenz素晴らしい、私はそれをチェックします!

ただ、@cpojer移行し、合計完了SegmentedControlIosをし、サンプルアプリを追加しました。

  • コンポーネントをテストし、すべてが新しいRNプロジェクトで正常に機能しています。
  • npmにリリースされました。

@cpojerは、クリップボード-ApiをRNコアからコミュニティバージョンに移行し、すべてをテストするためのサンプルアプリを追加しました。

  • コンポーネントをテストし、すべてが新しいRNプロジェクトで正常に機能しています。
  • npmにリリースされました。

@cpojer最近

  • ネイティブの「TestModule」をRNTesterに移動します

まだ解決されていない場合は!

@cpojerトーストコンポーネントはどうですか? 今は非推奨になり、後で削除する必要があると思います。
理由:

  1. トーストは通知の単なる別のタイプ/スタイルであり、通知コンポーネントには多くのタイプがあります
  2. Androidの実装のみが存在します
  3. マルチプラットフォームであるコミュニティhttps://github.com/search?q=react+native+toastによって維持されている「トーストのような」コンポーネントがたくさんあります

あなたはそれについてどう思いますか?

TabBarIOSを維持し、維持/将来の証拠にすることに興味があります。 ファーストクラスのアクセシビリティを備えた軽量ソリューションとして、NavigatorIOSとともに非常に価値があると感じています。

NavigatorIOSのようにすでに非推奨になっているので、react-native-communityの下に置くべきではないというのが一般的な意見である場合、私は自分のアカウントでそうしますが、-communityの傘下でそれを好むでしょう。

Facebook内で使用されておらず、iOSのみである以外に非推奨の理由はありましたか(これはまともな理由です)?

私はここに作業バージョンを持っています: https

@karlsander

こんにちは、ActionSheetIOSネイティブコードをexpoに移動します。 確認してください🙇
https://github.com/expo/react-native-action-sheet/pull/105

react-clone-referenced-element使用されている場所を見つけようとしましたが、うまくいきませんでした。 私は何かが足りないのですか? 私は貢献して反応するのは初めてです-ネイティブコードベースなので、ばかげた質問なら申し訳ありません。

@Rendfoldあなたは何かを見逃していません、私はまったく同じことを考えていました。

追加された関連するコミットは次のとおりです: https

ListViewが削除されたので、依存関係を満たすためのようです。 これはFacebook内でも使用されていると思います。

@ericlewisはそこで更新されましたが、追加されなかったので、さらに先に進みました。 それがeaba2abc0b76f9a26703c87eecf4a8bb52f9ed3eであった場所を見つけるために2016年のコミットに行かなければなりませんでした
しかし、はい、あなたは正しかった、それはListViewのためです。

@ cpojer DrawerLayoutAndroid 23730のDrawerLayout / DrawerLayoutAndroidを突っ込んでいたのですが、かなり孤立しているようです。

抽出するのも良い候補でしょうか? 私はそれを引き受けてうれしいです。

ここで説明したモジュールのうち、 react-native-async-storagereact-native-netinfoのみが両方のプラットフォームのe2eテストに合格し、 react-native-camerarollに気付きました。

私は最近、Detoxを使用したreact-native-svgのe2eテストを調べ、travisとbitriseでセットアップしました。
https://travis-ci.org/msand/react-native-svg-e2e/builds
https://app.bitrise.io/app/1a150b039e9b8fbd#/builds

私はそれをiosとandroidの両方でスクリーンショットを撮り、両方のプレーンな反応ネイティブで、さらにiosのcocoapodsで新しいプロジェクトのセットアップをテストしています。

私はreact-native-svgリポジトリのセットアップbitriseにアクセスできません、 @ cpojerはその権利を取得することは可能でしょうか? または、代わりにe2eテストをcircleciに移行する必要がありますか? とにかく、Androidエミュレーターはkvm / accelerationにアクセスできるようです。

travisとbitriseでkvmを使用せずに動作させるには、アクセラレーションをサポートしていないため、最新のエミュレータカナリアと動作する構成を見つけるための多くの試行が必要でした。 とにかく、他のモジュールがcircleci以外の場所にe2eを設定することに関心がある場合は、このリポジトリが役立つ可能性があります: https

オフトピック:誰かがreact-native-svgのテストを手伝うことに興味がある場合は、 https。 wpt / tree / master / svg
おそらくhttps://github.com/kristerkari/react-native-svg-transformerを使用してsvgファイルをそのままロードできます。その後、スクリーンショットとの比較手順が非常に役立ちます。

ARTの非推奨/分割に関しては、react-nativeリポジトリから分離し、そのまま存続させ、バグ修正/パフォーマンスの改善を実現することをサポートしています。 少なくとも、レンダリングしたい単純なパスデータしかなく、svg仕様の他の部分が必要ない場合は、少なくともreact-nativeで使用すると、ARTのパフォーマンスが向上する可能性があります。 完全なsvg仕様への適合を目指すものほど多くの機能をサポートする必要がないため。

WebでARTを使用してキャンバスにレンダリングする場合、ユースケースによっては、svgよりも高速になる可能性があります。 この種の最適化に取り組む前に、実際のホットスポット/ボトルネックを見つけるためのプロファイルを作成し、必要に応じて十分なデータの統計を使用して適切なA / B測定を行います。 また、ARTを使用している既存のコードがある場合は、そのままにしておいてもかまいません。 ただし、新しいコードの場合は、仕様に準拠したsvgを使用し、(react-native-)web互換の方法で記述することをお勧めします(canvas / webglレベルのパフォーマンスが必要な場合を除く)。 互換性index.web.jsの実装は、この目的のために、今後のreact-native-svgリリースにも含まれる予定です。

今日、React Nativeの「reducemotion」オプションの読み方を考えていましたが、実装されていないようです。
機能リクエストを実行し、それをある程度可視化するための最良の方法は何でしょうか? https://react-native.canny.io/feature-requestsはまだ機能リクエストの優先フォーラムですか?

@kristerkari 「モーションを減らす」のサポートをAccessibilityInfo追加するPRを提出しました
https://github.com/facebook/react-native/pull/23839

@cpojerこんにちは、しばらく外出していてごめんなさい。 react-native-status-barを正常に移動しました。 しかし、コアでそれを非難しませんでした。 私は今それをすべきですか?
また、react-native-status-barパッケージの追加リリースを作成する予定です。

@dmtrKovalenkoはい、してください!

非推奨ステータスバーのPRを作成->#23898

私はreact-native-svgリポジトリのセットアップbitriseにアクセスできません、 @ cpojerはその権利を取得することは可能でしょうか? または、代わりにe2eテストをcircleciに移行する必要がありますか? とにかく、Androidエミュレーターはkvm / accelerationにアクセスできるようです。

@msand @gengjiawenのベンチマークのように高速に実行されるため、誰もがわかりません。

react-native-camerarollにもそれらがありますが、Androidでのテストは失敗しています。

Androidテストに合格するのに問題があります。テストは非常に簡単です(アプリは起動します)ので、構成に含まれています。 netinfoから設定をコピーしましたが、そのままでは機能しません。 @ matt-oakes私が見逃したことが特にあるかどうか、一目でわかりますか?

@bartolkaruzaこれは私がここのNetInfoリポジトリで修正したものです: https

今すぐカメラロールを修正するためのPRを提出します。

@cpojerコアからtvOSを抽出する計画はありますか?

@ MohamadKh75https //github.com/react-native-community/discussions-and-proposals/issues/111を参照してください

Buttonも削除する必要があると思います。

削除または抽出しますか? 削除するよりも抽出したほうがいいです。

コミュニティモジュールに抽出された機能を現在使用しているreact-nativeライブラリに関する質問:

抽出されたモジュールに依存するための推奨されるアプローチは何ですか? 直接の依存関係またはpeerDependencies?

例として、 reactotron-react-nativeは現在AsyncStorageを直接使用しています。 直接の依存関係としてreact-native-asyncstorageを使用すると、消費するアプリで複数のバージョンが使用される可能性があります。 これは計画されていますか、それともpeerDependencyにする必要がありますか?

私はそれが依存関係であるべきだと思います、そしてAsyncStorageはReactNativeをpeerDependencyとして定義します、このようにそれは同じアプリでAsyncStorageのいくつかのバージョンを使うことができます(あなたが同じものを使うことを確実にしたい、そしてあなたがそれをライブラリに明確に置くことを除いてreadme)が、ReactNativeの依存関係が満たされない場合、インストールプロセスは警告を表示します。

これは簡単ですか? 名前付きネイティブモジュール「AsyncStorage」の複数のバージョンが存在する可能性はありませんか? これは問題につながる可能性があると思いますか?

はい、いくつかのバージョンがありますが、それぞれがスタンドアロンであり、それらの間でデータを共有しない場合、問題はないはずです。

こんにちは@cpojerこの問題のいくつかを支援したいのですが、「マージされたPickerIOS / Pickerコンポーネントをコミュニティリポジトリに移動する」から始めてもよいですか?

ねえ@wagnermaciel 、私と@bartolkaruzaはそれに取り組んでいます。 そして、ほぼ完了しました。 @cpojerコミュニティリポジトリを作成してください。 実際、計画はそれをコミュニティに移し、両方のコンポーネントをマージすることだと思います。

https://github.com/jainkuniya/react-native-picker

@jainkuniya心配ありません。 @cpojerここであなたが私に割り当てることができる問題はありますか? 私は友達のグループと一緒に働いています、そして私たちは皆、私たちができるあらゆる方法で関与することに興味があります👍

@wagnermaciel私たちの努力に参加してくれてありがとう! 元の投稿を更新し、サインアップしたタスクに応答しなかった人を削除しました。 横に名前のない上記のものはどれでも、必要に応じてあなたが拾うことができます。 どちらに取り組みたいですか?

こんにちは@cpojer 、「ImagePickerIOSをコミュニティリポジトリに移動」に割り当てられますか?それを維持させていただきます。 よろしくお願いします!

@ aerlinn13私はあなたをそのために置きました。 リポジトリにPRを送信してpingを送信するだけで、そこから処理します:)ありがとうございます。

@cpojer迅速な対応ありがとうございます! 「リポジトリからProgressBarAndroidを削除し、おそらくコミュニティリポジトリに移動する」を割り当ててもらえますか? 私はそれに取り組みたいです。 ありがとう!!!

@wagnermaciel完了! あなたの貢献を楽しみにしています:)

こんにちは@ cpojer 、ToastAndroidコンポーネントについて言及したいと思います。 あなたはそれをどうするか考えていますか?
ToastAndroidがHMRLoadingViewとLinkingExampleで使用されているようです。 したがって、その2つのコンポーネントの通知タイプをどのように置き換えるかは疑問です。
とにかくそれがFBによって内部的に使用されている場合、それは現時点では問題ではなく、私のコメントを無視します:)

私の元の投稿:

@cpojerトーストコンポーネントはどうですか? 今は非推奨になり、後で削除する必要があると思います。
理由:

  1. トーストは通知の単なる別のタイプ/スタイルであり、通知コンポーネントには多くのタイプがあります
  2. Androidの実装のみが存在します
  3. マルチプラットフォームであるコミュニティhttps://github.com/search?q=react+native+toastによって維持されている「トーストのような」コンポーネントがたくさんあります

あなたはそれについてどう思いますか?

@radeno現時点では削除するつもりはないと思いますが、後で削除することを選択する可能性があります。

申し訳ありませんが、 @ cpojerは先月本当に忙しかったですが、今日はProgressViewIOSの作業を再開します

@cpojer 「DeprecateStatusBarIOS」がチェックされていることに気づきましたが、 StatusBarIOS.iosStatusBarIOS.androidは2018年から変更されていません。何か見落としていましたか?

足りないものがあればごめんなさい。 そうでなければ、私に知らせてください、私がそれを手伝うことができるからです。

@cpojeriosフォルダのファイルを見つける場所や作成方法について説明して

@wagnermacielプロセスについては、 https: //github.com/facebook/react-native/issues/23313#issuecomment-461462681を参照してhttps

@cpojerは、まだ割り当てられていないコンポーネントの移動を引き受ける準備ができているか、JSの依存関係の監査に取り組む準備ができています。

@cpojer当社は現在

最優先事項は何ですか? 一番上の問題(ProgressViewIOSをコミュニティリポジトリに移動するなど)や、今後の作業セクションにある問題について、さらにサポートが必要ですか? 誰も割り当てられていないもの(ProgressViewIOSを移動するものなど)がありますが、スレッドを読んでいると、すでに使用されているようです。

@RafaelOdaの今日の最優先事項は、問題の解決、トリアージ、およびリポジトリ内の任意の数の問題への対応です。 とは言うものの、ここで宣言された範囲外のものを特定し、それらを引っ越すために提示することができれば、それは素晴らしいことです。

ウィキなどのどこかに新しいRNCライブラリを作成するための手順はありますか? それらは、RNCだけでなく、すべてのライブラリの一種のテンプレート/ガイドラインとして、保持し、他の人が見つけられるようにするのに役立ちます。

私はこれを実際に見つけまし

次の候補者は次のとおりです。

  • KeyboardAvoidingView、SafeAreaView
  • モーダル(?)。

SafeAreaViewを取ってよかったです!

コアからのこれらの移行はまだ手に入れられていますか? もしそうなら、最新の次の候補者は何ですか? 私も手を差し伸べたいです:)

@brentvatne @ide @ericvicenti @kmagieraは、react-navigationやreanimatedなどのサードパーティライブラリを使用するときに、まだ移動でき、開発者のエクスペリエンスに影響を与えない可能性があることについて意見を述べていると思います。

ヘルプを使用できることの1つは、AndroidのRNTesterでToolbarAndroidを使用しないようにすることです。 誰かがその使用法を他のものに置き換えることに取り組むことができますか?

トップレベルの投稿の更新が終了しました。 ImagePickerIOSは、コンポーネントがまだ抽出されていない、請求されていないコンポーネントの1つです。 努力をして、 https://github.com/react-native-community/react-native-image-picker-iosで作成されたリポジトリにPRを送信したい人はい

最後に、DatePickerIOSとDatePickerAndroidを導入する作業は実現しなかったようです。https://github.com/react-native-community/discussions-and-proposals/pull/85を参照してhttps

DatePickerIOSとDatePickerAndroidの2つの高レベルのエクスポートがあります。

初期バージョンが出荷され、コンポーネントがRNから非推奨になった後、コミュニティは2つを1つのコンポーネントにマージできるようになります。

cc @ mmcknettおよび@Swaagie

別のリポジトリに抽出したいRNの別の部分としてReactARTを追加しました: https

従業員求む!

DatePickerIOSDatePickerAndroidを取ることはできますか?

@sijadは以前に

@cpojer来週の月曜日から

@ivanmoskalevは素晴らしいですね! 始めたら教えて、私が作成した新しいリポジトリのPRを作成してください:)

@cpojerは、誤ってreviewブランチを見落としていましたか? ドキュメントといくつかのデトックステストを除いて、すべての作業がありました。

編集:認識のためのcc @sijad

編集2: httpsreviewブランチに存在していたとおりに機能します。 そのリポジトリを再作成する権利はありませんが、終了したいと思います。

また、 @ sijadも、徹底的なレビューとコード修正(必要な場合)の形で貢献したい場合は、大歓迎です!

@cpojer @sijad @Swaagieが述べたように、この作業は間違いなく実現し

ブランチを見逃す心配はありません–見落としがちです。 振り返ってみると、MartijnがDraft状態でPRを開くようにアドバイスする必要がありましたが、彼は私たちが発生してスプリントに入れた作業のために、より小さなPRを作成し続けました。

react-native-community Lean Coreで、これらの小さなモジュールの標準的な操作手順のドキュメントを提案できる場所はありますか? react-native-datetimepicker多くの反復を学びました。他のモジュール化をより簡単に、より速くするために、より広いコミュニティと共有したいと思っています。

ああ、私は別の名前のリポジトリを持っていて、それから再作成したに違いありません-.-

新しいデートピッカーにPRを送ってもらえますか?

しましょう! 迅速な対応に感謝します! また、難しい感情はありません。私たちはすべて人間であり、 @ crobbinsのように作品をもっと目立たせる必要があると言っていました。

@cpojerは、トップの投稿を更新して、私のgithubハンドルを次の場所に追加できますか?
Merge DatePickerIOS and DatePickerAndroid, move to community repo
ありがとう!

@Swaagie Done!

https://github.com/yfuks/react-native-action-sheetを採用し、それをActionSheetIOSとマージすると、すばらしいでしょう。

APIをReactNativeコアから移動するために作成されたリポジトリを維持する場合は、他のプラットフォームの実装をサポートできることを確認し、react-native-webとreactの同等の実装を確認してください。 -ネイティブウィンドウ。

@cpojerあなたは本当にそれらすべてをやっていますか、それとも私は1つをつかむことができますか?
FWIW RCTImagePickerIOSで進歩を遂げ、数日以内にPRを提出します。

@ Johan-dutoitはい、残念ながら、モジュールの削除はFacebookの従業員のみが行うことができます。 ImagePickerIOSの抽出を楽しみにしています!

@ cpojer🎉PR提出およびテスト済み🎉

@cpojerファイルで何をしようとしているのかを説明するほしい。 これは、プロジェクトに貢献したい人を大いに促進するでしょう。 釣り針のように

例えば

image

  • React.js
    このファイルの主な目的は...
  • react-native-implementation.js
    このファイルの主な目的は...
  • react-native-interface.js
    このファイルの主な目的は...

これらの3つのファイルは少し理解しやすいかもしれませんが、このようなファイルがあると、少し複雑になる可能性があります。
image

明らかに、各ファイルの機能を説明することは言うまでもなく、説明しすぎる必要はありません。 特定のフォルダで実行することを意図していることの最も関連性のある、または基本的な定義のみ。

さらに、このリポジトリがどのように機能するかの概要を示すことは非常に役立ちます。 ご意見をお聞かせください。 すべてに感謝します。

@cpojer私が拾うことができるものが残っていますか? で売り込みたいです。

@FLGMwthttps://github.com/facebook/react-native/issues/23313#issuecomment-469288200で言及しているように、 DrawerLayoutAndroid移動するの

ToastAndroidAnimatedも移動するのは素晴らしいことです

@ecreeth 、これらのファイルは、まだ削除されていないミックスインに依存しているため、createReactClassを使用しています。 createReactClassを使用しているファイルは、引き続きpropTypesを使用していますが、更新されるとFlow用に削除されます。

@TheSavior情報ありがとうございます!

貢献したいのですが、「ボタンをコミュニティリポジトリに移動」が実行されていないようです。 何をする必要がありますか? お手伝いしたいです!

承知しました。 https://github.com/react-native-community/react-native-netinfoのような他のものをチェックして

こんにちはRNでwebviewを削除した後にwebviewを使用する方法

こんにちは、助けたいです! すべての「削除」タスクが@cpojerに割り当てられているようですが、ヘルプのために削除できるクラスはありますか? たとえば、「ImageStore」

ねえ、私はDatePickerComponentsの移動を手伝うことができます、 @ cpojer 、ありがとう!

こんにちは@cpojer 、私は

Buttonを新しいコミュニティリポジトリに移動できることをうれしく思います。 進め方についてのガイダンスをいただければ幸いですが、まずソースを見て、自分の方向性を理解し始めます。 @cpojerアドバイスをお願いします。

PRを開いて削除DatePickerAndroid、DatePickerIOS、TimePickerAndroidを削除

https://github.com/facebook/react-native/pull/26729

コアに新しいエクスポートを追加するタイミングをどのように決定しますか? たとえば、 useWindowDimensionsフックはユーザースペースに組み込むことができますが、コアに追加されています-https://github.com/facebook/react-native/blob/3b3c95b0170e60983eb6e89b910d100d08eee141/Libraries/Utilities/useWindowDimensions .js

フックに関する私たちの考えは、デフォルトでフックを提供するためにreact-nativeコアを最新化することは理にかなっていると思います。 反応ネイティブがレガシーAPIのみを提供し、フックがそれらを別のコミュニティパッケージにラップするのは素晴らしいことではありません。

したがって、フックは、一般的にコアに新しいエクスポートを追加することとは異なる特定の質問だと思います。

こんにちは、みなさん! 現在、コミュニティのメンバーが実行できるアクションはありません。 現在予定されている削除は、次の2つの理由で保留になっています。

  • コミュニティが抽出されたバージョンに移行する時間を与えるために、コンポーネントを削除するまでしばらく待っています。
  • 削除はFacebookの誰かだけが行うことができます。これは、将来外部モジュールを採用するまで、実際にはそれらのファイルをFacebook内部に移動しているだけだからです。

フックベースのAPIに関しては、この問題はその議論の正しい道ではありません。 一般的に、将来的にパブリックAPIを再考するときに、フックベースのAPIを段階的に追加する必要があると思います。

みなさん、こんにちは。私はオープンソースプロジェクトに貢献するのは初めてですが、この問題についてまだサポートできるかどうか知りたいです。

現在予定されている削除は、2つの理由で保留になっています...

とにかくToolbarAndroidが(静かに)削除されたのは間違い

@cpojer 「ボタンをコミュニティリポジトリに移動」を実行できますか?

@ArchulanあなたはあなたのPRをreact-native-buttonに送ることができ

@Archulanこのコメントを見る#23313(コメント)

@ArchulanあなたはあなたのPRをreact-native-buttonに送ることができ

はい。 これを行うために私を案内してもらえますか?

Buttonを移動するのは意味がないと思います。 コンポーネントは非常に小さく、ライブラリをインストールせずにいくつかの基本的な機能を導入するのに役立ちます。

@brentvatne

Buttonを移動するのは意味がないと思います。

以下のようなとても奇妙react含まれている<Button/>

革命後はただあるべきです

react-native = jsi(fabric & turbomodule) + codegen

その他はコミュニティによって推進される可能性があります。

いくつかの基本的な機能を導入するため。

reactreact-domように、 react-nativereact-native-element monorepoを使用する必要があるかもしれません

@cpojer Vibration(https://reactnative.dev/docs/vibration)もコミュニティプロジェクトに移動されていますか? もしそうなら、そしてそれは始めるのに十分小さいように思われるので、私はそれを手伝うことができます。

@cpojer ImageStoreを削除できますか?

これで可能な助けはありますか? 私は初心者で、これでたくさん学ぶことができると思います。
よろしく。
マヌエルポルテロ。

これでまだ助けが必要な場合は、喜んでお手伝いします😃

私も

貢献したいです。 何か私にできることはありますか?

何か私にできることはありますか?

貢献したいのですが、何かできることはありますか?

このページは役に立ちましたか?
0 / 5 - 0 評価