タグ付けされた質問 「reactjs」

4
多くのソフトウェア開発者がなぜオープン/クローズド原則に違反するのですか?
多くのソフトウェア開発者が、アップグレード後にアプリケーションを破壊する関数の名前を変更するなど、多くのことを変更することにより、オープン/クローズの原則に違反するのはなぜですか? この質問は、Reactライブラリの高速バージョンと継続バージョンの後に私の頭に飛びつきます。 短い期間ごとに、構文、コンポーネント名などに多くの変更があります。 Reactの今後のバージョンの例: 新しい非推奨の警告 最大の変更点は、React.PropTypesとReact.createClassを独自のパッケージに抽出したことです。どちらもメインのReactオブジェクトを介して引き続きアクセスできますが、いずれかを使用すると、開発モードのときに1回限りの非推奨警告がコンソールに記録されます。これにより、将来のコードサイズの最適化が可能になります。 これらの警告は、アプリケーションの動作には影響しません。ただし、特にconsole.errorを失敗として扱うテストフレームワークを使用している場合、フラストレーションが発生する可能性があることを認識しています。 これらの変更はその原則の違反と見なされますか? Reactのようなものの初心者として、ライブラリ内のこれらの高速な変更でどのようにそれを学ぶのですか(とてもイライラします)?

7
一貫したコードスタイルの実際の価値は何ですか
私は、顧客向けの新しいソリューションを実装するコンサルタントチームの一員です。クライアント側のコードベース(Reactおよびjavascript)のコードレビューの大部分を担当しています。 一部のチームメンバーが独自のコーディングパターンを使用して、スタイルだけで作者が誰であるかをランダムに選択できるようになっていることに気付きました。 例1(1回限りのインライン関数) React.createClass({ render: function () { var someFunc = function () { ... return someValue; }; return <div>{someFunc()}</div> } }); 著者は、someFuncに意味のある名前を割り当てることで、コードが読みやすくなると主張しています。関数をインライン化し、代わりにコメントを追加すると、同じ効果が得られると思います。 例2(非バインド関数) function renderSomePart(props, state) { return ( <div> <p>{props.myProp}</p> <p>{state.myState}</p> </div> ); } React.createClass({ render: function () { return <div>{renderSomePart(this.props, this.state)}</div>; } }); これは通常の方法です(状態と小道具を渡す必要がなくなります)。 React.createClass({ renderSomePart: function …

1
Reduxのメモリ消費[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 閉じた3年前。 Reduxフレームワークは、不変の状態/純粋関数パラダイムを支持します。これは、現在のアクションに関して、前の状態から新しい状態の作成を促進します。このパラダイムの適用可能性は疑う余地がありません。 私の主な懸念は、Reduxレデューサーが呼び出されたアクションごとに以前の状態から新しい新しい状態を熱心に返すため、大量のメモリドレイン(メモリリークと混同しないでください)が多くの実際のアプリケーションで一般的に発生することです。Javascriptアプリケーションは通常、平均的なユーザーのデバイスのブラウザーで実行され、他のいくつかのデバイス固有のアプリケーションと、さらにいくつかのブラウザーのタブとウィンドウも実行できることを考慮すると、メモリを節約する必要性がますます明らかになります。 Reduxアプリケーションのメモリ消費量を従来のFluxアーキテクチャと実際に比較した人はいますか?もしそうなら、彼らは彼らの調査結果を共有できますか?

4
JSPスクリプトレットが悪いのに、なぜJSXが良いのですか?
React.jsは、コンポーネントと要素のツリーを構築するためのXHTMLのような構文としてJSXを提供します。JSXはJavascriptにコンパイルされ、JSX固有のループまたは条件を提供する代わりに、Javascriptを直接使用します。 <ul> {list.map((item) => <li>{item}</li> )} </ul> まだ説明できていないのは、JSPで類似のコンストラクトが悪いと考えられる場合、なぜこれが良いと考えられるのですか? JSPのこのようなもの <ul> <% for (item in list) { %> <li>${item}</li> <% } %> </ul> はのようなタグで解決される読みやすさの問題と見なされます<c:forEach>。JSTLタグの背後にある理由は、JSXにも適用できるようです。 XHTMLのような構文(山括弧、ネスト)とJava / Javascript(中括弧、コンマ、括弧)を切り替えていない場合は、読みやすくなります。 レンダリング関数内で使用可能な完全な言語とプラットフォームがある場合、そこに属さないロジックを入れることを思いとどまらせることはほとんどありません。 JSXが異なる理由を考えることができる唯一の理由は次のとおりです。 Javaでは、間違ったことをするインセンティブがありました。JSPはホットリロードされるので、JSPにコードを入れて再構築/再起動のサイクルを避けようとしました。保守性は、即時の生産性のために犠牲になりました。スクリプトレットを廃止し、テンプレート構成体の固定セットに制限することは、実質的に保守性を強化する方法でした。JSの世界にはそのような歪みはありません。 JSPとJavaの構文は、<% ... %>Javaコードと要素の生成を区別するための余分な要素や、foreach概念やファーストクラスの機能を持たないJavaのネイティブな構文(最近まで)に不格好です。JSXでループと条件にネイティブJavascriptを使用する構文のペナルティはゼロではありませんが(私の意見では)、JSPほど悪くはなく、ループと条件にJSX固有の要素を導入することを保証するのに十分なほど悪くはありません。 私が見逃している何か他のものがありますか?

3
フラックスパターンを理解する
私は実際にフラックスのパターンを研究していますが、ストアに関して理解できないことがあります。 彼らは正確に何ですか? 私は多くの記事を読みましたが、それはドメインに関係しているようです。 これは、API呼び出しまたはバックエンド呼び出しに関連する「抽象的な」部分であることを意味しますか? 私にはあまりはっきりしていません。 編集:それは角度の工場と同じものでしたか?リモートデータの取得、ビジネスタスクの作成、アプリの状態の保存(現在のユーザーの接続など)


1
React 0.14のステートレスコンポーネントは、shouldComponentUpdateなしでどのようにパフォーマンスを向上させるのですか?
この質問は、React 0.14に関するリリースノート(およびその他の関連する誇大広告)を読んでから、頭の中で何度も繰り返されています -私はReactの大ファンで、ステートレスコンポーネント(https://facebook.github。 io / react / blog / 2015/09/10 / react-v0.14-rc1.html#stateless-function-components)は、そのようなコンポーネントを簡単に記述できることと、これらのコンポーネントの意図をコードで表現することの両方にとって優れたアイデアです。コンポーネントは、同じ小道具データを一貫してレンダリングするという点で「純粋」である必要があります。 問題は、Reactがこれらのステートレスコンポーネント関数を完全に最適化せずに最適化し、props参照がコンポーネント内で操作されないだけでなく、変更できないという点で不変であると仮定して、どのように最適化できるかです。コンポーネントのライフサイクル外ですか?「通常の」コンポーネント(ステートフルコンポーネント、つまりライフサイクル全体を通過するコンポーネント。componentWillMount、getInitialStateなど)にオプションの「shouldComponentUpdate」関数があるのは、Reactがすべてのプロパティと状態参照は完全に不変です。コンポーネントがレンダリングされた後、props参照の特定のプロパティが変更される可能性があるため、同じ「props」インスタンスには後で異なるコンテンツが含まれる可能性があります。これが、完全に不変の構造体を使用することに大きな興奮をもたらした理由の1つであり、ReactでOmを使用すると、パフォーマンスが大幅に向上すると言われているのです。そこで使用された不変の構造体は、オブジェクトの特定のインスタンスが決して変更されないことが保証されているため、shouldComponentUpdateは、propsとstate(http://swannodette.github.io/2013/12/17/the-future-of-javascript-mvcs/)。 私はこれについてより多くの情報を見つけようとしましたが、どこにも行きませんでした。小道具のデータが不変のタイプで構成されると仮定せずに、ステートレスコンポーネントの周りでどのようなパフォーマンスの向上が見込めるかは想像できません。おそらく、「小道具」と「nextProps」が同じデータ? 私は誰かが内部情報を持っているのか、あるいはこれに関する他の啓蒙的な洞察を持っているのかと思っただけです。Reactが小道具のタイプを「完全に不変」にするよう要求し始めた場合(データが変更されていないことを確認するために参照等価比較を許可します)、それは大きな前進になると思いますが、大きな変更になる可能性もあります。
8 reactjs 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.