React と React Native のスレ (481レス)
React と React Native のスレ http://mevius.5ch.net/test/read.cgi/tech/1552134567/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
452: デフォルトの名無しさん [sage] 2023/02/20(月) 20:09:11.05 ID:CBterFMa Reactをrender()するHTML要素を動的に追加するのはありだと思うよ でもそのロジックをReactコンポーネントに入れる必要はないな ユーティリティな関数でそれをすればReactコンポーネントはクラスではなく関数コンポーネントにもできるし http://mevius.5ch.net/test/read.cgi/tech/1552134567/452
453: デフォルトの名無しさん [sage] 2023/02/20(月) 20:40:21.95 ID:1+J+V+Et まず動くようにしたのは素晴らしいけど、たぶんリーダーかは指摘が入るはず。 http://mevius.5ch.net/test/read.cgi/tech/1552134567/453
454: デフォルトの名無しさん [sage] 2023/02/20(月) 21:16:51.58 ID:zSsoBtA6 最初はお手本通りrender関数とコンポーネント挿入関数に2ファイルに別けてたのですが、 一機能実現するために手順を踏んで2ファイル使うのが解り辛いかなと思いました。 作った自分は解るのですが、引き継ぐ人にはシンプルな手順で使えるようにしておきたいです。 render関数とコンポーネントの挿入関数を試行錯誤して一つのファイルにまとめたら >>450のようになりました。 >>450なら import ExampleComponent from './examplecomponent'; const modal = new ExampleComponent (); modal.show("メッセージです", "タイトル"); だけで済むので、クラスのusageに書いておけば利用手順も簡単でどの画面でも使えると思います。 reactの定石からは離れますので、やはりreactのプロの目から見ると違和感あるのですね。 http://mevius.5ch.net/test/read.cgi/tech/1552134567/454
455: デフォルトの名無しさん [sage] 2023/02/20(月) 23:39:55.71 ID:qmqKnMRQ Windowsアプリのメッセージダイアログみたいにメソッドひとつで呼び出せる手軽さを実現したいって理解でいいのかな http://mevius.5ch.net/test/read.cgi/tech/1552134567/455
456: デフォルトの名無しさん [sage] 2023/02/21(火) 02:04:19.05 ID:R25lIONK あちこちに<ExampleComponent />追加したくないってことかな?その場合はProviderやContextを使うのが正式なやり方になると思う。 レイアウトに1個<ExampleComponent />追加する程度はふつうにやることなのでそれはみんなわかると思う。 http://mevius.5ch.net/test/read.cgi/tech/1552134567/456
457: デフォルトの名無しさん [sage] 2023/02/21(火) 08:04:52.44 ID:pYWIE5Lo >Windowsアプリのメッセージダイアログみたいにメソッドひとつで呼び出せる手軽さを実現したいって理解でいいのかな はい、それであっています。 >あちこちに<ExampleComponent />追加したくないってことかな? はい、ReactのメリットはJavascriptにHTMLを書ける事なので、HTMLとの依存関係を切って なるべくJavascriptだけで完結させたいです。 とくにモーダルのような汎用的などこでも使うものは、HTMLに<ExampleComponent />を記述させたくないです。 http://mevius.5ch.net/test/read.cgi/tech/1552134567/457
458: デフォルトの名無しさん [sage] 2023/02/21(火) 13:34:11.33 ID:5AAcCPtU メッセージダイアログ、確認ダイアログ、エラーダイアログなんかの共通系は どこでも仕込みなしで呼び出したい あるあるな要求だと思うけどReactではどうやるのが定石なんだろうね http://mevius.5ch.net/test/read.cgi/tech/1552134567/458
459: デフォルトの名無しさん [sage] 2023/02/21(火) 13:52:30.32 ID:pYWIE5Lo レイアウトが必要なコンポーネントは、HTMLファイルにreactのタグを埋め込む方向で理解できるのですが メッセージダイアログのような画面中のレイアウトが必要無い物については わざわざHTMLファイルにタグ埋め込んでおく必要ないのではと考えています。 javascriptで動的にタグを埋め込むのが良いと思いますが、タグ埋め込む機能をrender機能のファイルと別けたくないですね。 http://mevius.5ch.net/test/read.cgi/tech/1552134567/459
460: デフォルトの名無しさん [sage] 2023/02/21(火) 14:46:08.62 ID:4BxaQg+7 Railsとかの既存画面にReactでモーダルだけ作ろうって話? jQueryの代わりにReactみたいな使い方ならその時点で定石から外れてるわな http://mevius.5ch.net/test/read.cgi/tech/1552134567/460
461: デフォルトの名無しさん [sage] 2023/02/21(火) 14:59:48.47 ID:5AAcCPtU いや、そういう話ではないよ http://mevius.5ch.net/test/read.cgi/tech/1552134567/461
462: デフォルトの名無しさん [sage] 2023/02/21(火) 15:18:03.61 ID:4BxaQg+7 へ?普通にSPA? それなのにDOMのエレメント作ってrender()呼ぶって?ただのアホじゃん http://mevius.5ch.net/test/read.cgi/tech/1552134567/462
463: デフォルトの名無しさん [sage] 2023/02/21(火) 16:09:35.73 ID:5AAcCPtU そりゃ動機があって試行錯誤の中でイレギュラーなことをしていて より良い方法、より一般的な方法はないかという問いかけなんだし http://mevius.5ch.net/test/read.cgi/tech/1552134567/463
464: デフォルトの名無しさん [sage] 2023/02/21(火) 16:42:00.18 ID:4BxaQg+7 試行錯誤にしても道を外れすぎ React.renderはReactアプリ(コンポーネントツリー)全体をDOMにマウントするためのAPIで個々のコンポーネントが呼び出すもんじゃない 大抵はフレームワーク的なコード(CRAやNext.js)が呼び出すからアプリからは呼ばない 共通のモーダルコンポーネントはAppコンポーネントなどツリーのルート近くに一つだけ置く そしてモーダルはそれを開くためのカスタムフックを利用者に提供する モーダルの開閉制御に使うステートはRedux等のライブラリを使ってもいいしContext + useStateでもいい http://mevius.5ch.net/test/read.cgi/tech/1552134567/464
465: デフォルトの名無しさん [sage] 2023/02/21(火) 17:16:01.15 ID:i5fGgfrB 試行錯誤ってのはそんなもんでしょ まして最初にReactに不慣れだと断ってるわけだし 寛容にいこうよ http://mevius.5ch.net/test/read.cgi/tech/1552134567/465
466: デフォルトの名無しさん [sage] 2023/02/21(火) 18:46:29.89 ID:pYWIE5Lo イレギュラーなやり方ということは重々承知しています。 自分のやり方はreactのフル機能を使うよりも、ESM+Reactの機能の一部を使ったやり方になり Reactの恩恵を受けられない事を承知しています。 その上で使い勝手を選択して、react機能の一部のみを使った開発を行うのもありなのではと思ったりしています。 ダイアログなどの静的なコンテンツについてはreactの機能を全て使い切らなくとも、reactが無くとも実現できますし、 reactの性能を発揮できる開発内容でもないと思っています。 静的HTMLのページをreactで作るのが効率悪いのと同様に、静的なダイアログ程度のものについてもreact使わない方が良いんじゃないかと。 その上で便利な部分(javascript上でHTMLを共有化できる)だけ摘まみ食いしたいです。 reactの専門家から見ると節操無いでしょうが、開発効率や汎用性を考えた場合に こういったやり方はどうなんでしょうかと意見を」聞きたかったです。 http://mevius.5ch.net/test/read.cgi/tech/1552134567/466
467: デフォルトの名無しさん [sage] 2023/02/21(火) 19:00:38.86 ID:YV4X7nvq >>466 >>464の提示してるやり方はどう?落とし所としてはいいように思えるけども あと>>456も1箇所に固定で追加するという方針は近しいように思う 必要なら詳しく聞いてみたら? http://mevius.5ch.net/test/read.cgi/tech/1552134567/467
468: デフォルトの名無しさん [sage] 2023/02/21(火) 19:34:17.35 ID:+X0VWij1 >>466 結局何をどう作ろうとしてるのかわからないんだよな Reactで完全なSPAなら最初から449や456が書いてるとおりだし464も同じことを書いてる しかし451の「サーバ側のview」とか466の「react機能の一部のみを使った開発」なら460に見えるんだよな それなら452だろう 454で変なこと書いてるけど1ファイル1関数に制限されるわけじゃないんだから2ファイルに分けたくなけりゃ分けなければいいだけ http://mevius.5ch.net/test/read.cgi/tech/1552134567/468
469: デフォルトの名無しさん [sage] 2023/02/21(火) 19:38:08.77 ID:zF6zP+5N つまり…… ・他のreactコンポーネントから利用されるreactコンポーネントを作ってる のか ・reactで作ってるけど利用する側はreactとか気にしないで使う なのかどっちなんだという話 http://mevius.5ch.net/test/read.cgi/tech/1552134567/469
470: デフォルトの名無しさん [sage] 2023/02/21(火) 19:41:59.71 ID:pYWIE5Lo >>464の提示してるやり方はどう? react的にはスマートなやり方なのでしょうが、react使わない方が実装手順を簡略化できるのでメリットを感じないです。 >>・reactで作ってるけど利用する側はreactとか気にしないで使う の方です。 関わっているプロジェクトがこれからreactに乗り換えような流れなので、新規開発分からreactで作り始めているのですが、 そもそものベースがreactではないので、reactの便利な所だけ利用したい感じですね。 http://mevius.5ch.net/test/read.cgi/tech/1552134567/470
471: デフォルトの名無しさん [sage] 2023/02/21(火) 19:54:51.48 ID:zF6zP+5N >>470 それを先に言えって話だがそれなら>>452でいいだろ モーダルを表示する関数だけexportしてreactコンポーネントはexportせずにファイル内だけで使う ダイアログ表示するたびにDOMエレメント作るなら閉じたときに削除忘れないように reactのアンマウントも http://mevius.5ch.net/test/read.cgi/tech/1552134567/471
472: デフォルトの名無しさん [sage] 2023/02/21(火) 20:09:31.38 ID:pYWIE5Lo >>471 多分言っている事を理解しました。 reactによるコンポーネント作成と表示する関数は別けたいと思います。 ファイルを別けるのには違和感がありましたが、同一ファイル内で2関数実装して 片方だけexportするなら理想通りです。 一度サンプルソースを作成してリーダーに相談してみます。 ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1552134567/472
473: デフォルトの名無しさん [] 2023/02/22(水) 00:14:36.76 ID:wXAQdOu8 実装者しか分からん負の遺産はこうやって増えていくんですね 自己満のためにプロジェクトを良くない方向に進めている自覚を持ちましょう。 あなたのやっていることは時間の無駄です。 http://mevius.5ch.net/test/read.cgi/tech/1552134567/473
474: デフォルトの名無しさん [sage] 2023/02/22(水) 02:31:50.15 ID:DPknPTwq だけど、いくらきれいに書いたとしても、後任者がアレな場合、結局、良くない方向に進む(本人たちは満足)なので、どないしようもない気がします (という現場をよく見てきたので、どないしようもないですね) http://mevius.5ch.net/test/read.cgi/tech/1552134567/474
475: デフォルトの名無しさん [sage] 2023/02/22(水) 21:02:05.11 ID:ek8Yt4/u きれいなだけではダメで意図とか背景にある思想とかそういったものをちゃんと伝えておかないと 今回みたいに定石から外れることを自覚してるならなおさら http://mevius.5ch.net/test/read.cgi/tech/1552134567/475
476: デフォルトの名無しさん [sage] 2023/02/26(日) 16:09:53.37 ID:7ZfAUNQ9 でも必死こいてゲットしたマイナポイントも結局使わないまま失効するんだろどうせ http://mevius.5ch.net/test/read.cgi/tech/1552134567/476
477: デフォルトの名無しさん [sage] 2023/02/26(日) 16:10:31.65 ID:7ZfAUNQ9 スマン誤爆 http://mevius.5ch.net/test/read.cgi/tech/1552134567/477
478: デフォルトの名無しさん [sage] 2023/02/26(日) 17:52:01.97 ID:+WhKwZG4 >>476 必死こいで使おう http://mevius.5ch.net/test/read.cgi/tech/1552134567/478
479: デフォルトの名無しさん [sage] 2023/09/09(土) 09:35:09.94 ID:XstChhEA (>ェ<; http://mevius.5ch.net/test/read.cgi/tech/1552134567/479
480: デフォルトの名無しさん [sage] 2023/10/18(水) 11:53:52.23 ID:pKa2ZouW redux!! http://mevius.5ch.net/test/read.cgi/tech/1552134567/480
481: デフォルトの名無しさん [sage] 2024/09/03(火) 11:41:52.36 ID:a/z1r+/G 外部cssをimportじゃなくてhead要素に入れたいんだけど(scriptタグ多いのが嫌なだけ)、ドキュメントだとShowRenderedHTMLがいいって書いてあるっぽいけど他の方法あるのかな?無いならこれ使ってみる Helmetで出来るもんだと思ってたんだけどなあ http://mevius.5ch.net/test/read.cgi/tech/1552134567/481
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s