探検
React と React Native のスレ
429デフォルトの名無しさん
2022/11/23(水) 14:20:57.19ID:pkO67U6a ReactがFB内で生まれたのがES5より前だからかJSXでclassやforを属性名として使えないのはそろそろ修正してもいいと思うわ
430デフォルトの名無しさん
2022/11/23(水) 15:21:48.20ID:Q2Zz8xgu 逆にJSの言語仕様としてのクラスが要らんのやないかって感じするしな
431デフォルトの名無しさん
2022/11/23(水) 15:46:18.91ID:KqoXuT6V432デフォルトの名無しさん
2022/11/27(日) 18:18:42.40ID:DGQvXdXK reactでjsx使いたくないなReact.createElement使えばすむだろ
pure jsだしreact自身がメンテナだぞ
pure jsだしreact自身がメンテナだぞ
433デフォルトの名無しさん
2022/11/28(月) 16:39:23.37ID:bah5acf2 class使わんかったらええしjsxも受け入れればええやん
中途半端に色々俺ルール入れようとするからプロジェクト通したコードがグチャグチャになるんだよ
ガタガタ抜かさずに読みやすいコード書け
中途半端に色々俺ルール入れようとするからプロジェクト通したコードがグチャグチャになるんだよ
ガタガタ抜かさずに読みやすいコード書け
434デフォルトの名無しさん
2022/11/28(月) 17:59:40.28ID:IoJupQtf それはそう
435デフォルトの名無しさん
2022/11/28(月) 18:10:16.07ID:HJ3Js2uA React.createElement() は、見たことない。
クラスなのか?
今は、関数しか使わない
クラスなのか?
今は、関数しか使わない
436デフォルトの名無しさん
2022/11/28(月) 20:53:35.42ID:UVD224c9437デフォルトの名無しさん
2022/12/03(土) 08:35:21.91ID:taaLhEhL フロントエンドはAIとローコードにより死んでいきそう
438デフォルトの名無しさん
2022/12/03(土) 10:06:11.17ID:nGrXXmmc フロントエンドの連中が死んでいったら愉快すぎるだろうな。
439デフォルトの名無しさん
2022/12/03(土) 10:26:28.26ID:yzFmn8Js 管理画面作れるローコードツールやばいで?
t-wadaさんの会社が出資してるやつ
ガチでフロントエンドいらんw
t-wadaさんの会社が出資してるやつ
ガチでフロントエンドいらんw
440デフォルトの名無しさん
2022/12/03(土) 11:52:54.38ID:olmTGWDy できねぇ自分を棚に上げてよく言うぜ
441デフォルトの名無しさん
2022/12/03(土) 13:16:27.12ID:DRrYSu6r フロントエンドができるのは
どのくらいのレベル?
どのくらいのレベル?
442デフォルトの名無しさん
2022/12/04(日) 10:14:28.76ID:Mf+W6hFq https://pleasanter.org/
これとか使えそうだな
これとか使えそうだな
443デフォルトの名無しさん
2022/12/04(日) 11:54:38.25ID:Wvq70p6a 周りが適性なさすぎて消去法でバックエンドやるハメになり
苦労もあったが経験しておけて良かった
苦労もあったが経験しておけて良かった
444デフォルトの名無しさん
2022/12/08(木) 08:12:36.96ID:Z0lc4TAH ここ本スレ?
445デフォルトの名無しさん
2023/01/15(日) 12:22:06.03ID:c+nrjCWx みんなuseStateのとき以外でset~って関数名付けてる?
446デフォルトの名無しさん
2023/02/11(土) 08:10:49.33ID:vzM9dagC >>439
何? 使ってみたいから教えて
何? 使ってみたいから教えて
447デフォルトの名無しさん
2023/02/14(火) 00:24:32.69ID:L+R7vyp5 知らんけどAirtableとかじゃないの?
448デフォルトの名無しさん
2023/02/20(月) 17:20:13.84ID:o1ZyjHKj Reactが始めてなので変な質問かもしれません。
React.Componentを継承したクラスを作成し、これを「new」した時点でbodyの最後に描画したいです。
具体的にはmodalのクラスなのですが、
import modalClass from './modalClass';
const hoge = new modalClass(); //この時点でbodyの最後に描画されて
hoge.show(); //これで描画されたモーダルが表示される
だけでモーダルを表示したいです。
constructor中でrenderを実行して、戻り値をReact.Domでbodyの最後に置換すれば可能な気がしますが、
このような使い方は一般的でしょうか?
htmlに「<modalClass />」の記述をしたくありません。
React.Componentを継承したクラスを作成し、これを「new」した時点でbodyの最後に描画したいです。
具体的にはmodalのクラスなのですが、
import modalClass from './modalClass';
const hoge = new modalClass(); //この時点でbodyの最後に描画されて
hoge.show(); //これで描画されたモーダルが表示される
だけでモーダルを表示したいです。
constructor中でrenderを実行して、戻り値をReact.Domでbodyの最後に置換すれば可能な気がしますが、
このような使い方は一般的でしょうか?
htmlに「<modalClass />」の記述をしたくありません。
449デフォルトの名無しさん
2023/02/20(月) 17:53:11.21ID:1+J+V+Et >>448
一般的ではないね。ReactコンポーネントであればJSXに<Modal />などと書いておきReactのライフサイクルの中でstate更新して表示/非表示を制御するのが一般的。
あとDOMツリーに要素を「追加」する操作を「描画」と呼んでると今後の理解の妨げになる可能性があるから一回整理したほうが良いかも。(Reactはライフサイクルの意識が結構大事なため)
一般的ではないね。ReactコンポーネントであればJSXに<Modal />などと書いておきReactのライフサイクルの中でstate更新して表示/非表示を制御するのが一般的。
あとDOMツリーに要素を「追加」する操作を「描画」と呼んでると今後の理解の妨げになる可能性があるから一回整理したほうが良いかも。(Reactはライフサイクルの意識が結構大事なため)
450デフォルトの名無しさん
2023/02/20(月) 18:41:24.87ID:o1ZyjHKj はい、一般的ではないのは十分承知しています。
ライフサイクルなどを無視してHTMLの管理と描画のみにreactを使用したいと考えています。
ソースコードとしては下記で行けたのですが、このような使い方が一般的に許されるのかが不安です。
class ExampleComponent extends React.Component {
constructor(props) {
super(props);
const element = this.render();
const container = document.createElement('div');
document.body.appendChild(container);
ReactDOM.render(element, container);
}
show() {
//モーダル表示のDOMの操作
}
render() {
return (
<div>
/** モーダルのHTMLソース **/</div>
);
}
}
ライフサイクルなどを無視してHTMLの管理と描画のみにreactを使用したいと考えています。
ソースコードとしては下記で行けたのですが、このような使い方が一般的に許されるのかが不安です。
class ExampleComponent extends React.Component {
constructor(props) {
super(props);
const element = this.render();
const container = document.createElement('div');
document.body.appendChild(container);
ReactDOM.render(element, container);
}
show() {
//モーダル表示のDOMの操作
}
render() {
return (
<div>
/** モーダルのHTMLソース **/</div>
);
}
}
451デフォルトの名無しさん
2023/02/20(月) 18:48:10.50ID:o1ZyjHKj 動作するのは確認できたので、あとはプロジェクトリーダーの好み次第ですかね。
これが許されればサーバ側のviewでHTML管理しなくて済むようになりますので
コンポーネントの使いまわしが楽になるのですが。
javascriptのみで完結できるので。
これが許されればサーバ側のviewでHTML管理しなくて済むようになりますので
コンポーネントの使いまわしが楽になるのですが。
javascriptのみで完結できるので。
452デフォルトの名無しさん
2023/02/20(月) 20:09:11.05ID:CBterFMa Reactをrender()するHTML要素を動的に追加するのはありだと思うよ
でもそのロジックをReactコンポーネントに入れる必要はないな
ユーティリティな関数でそれをすればReactコンポーネントはクラスではなく関数コンポーネントにもできるし
でもそのロジックをReactコンポーネントに入れる必要はないな
ユーティリティな関数でそれをすればReactコンポーネントはクラスではなく関数コンポーネントにもできるし
453デフォルトの名無しさん
2023/02/20(月) 20:40:21.95ID:1+J+V+Et まず動くようにしたのは素晴らしいけど、たぶんリーダーかは指摘が入るはず。
454デフォルトの名無しさん
2023/02/20(月) 21:16:51.58ID:zSsoBtA6 最初はお手本通りrender関数とコンポーネント挿入関数に2ファイルに別けてたのですが、
一機能実現するために手順を踏んで2ファイル使うのが解り辛いかなと思いました。
作った自分は解るのですが、引き継ぐ人にはシンプルな手順で使えるようにしておきたいです。
render関数とコンポーネントの挿入関数を試行錯誤して一つのファイルにまとめたら >>450のようになりました。
>>450なら
import ExampleComponent from './examplecomponent';
const modal = new ExampleComponent ();
modal.show("メッセージです", "タイトル");
だけで済むので、クラスのusageに書いておけば利用手順も簡単でどの画面でも使えると思います。
reactの定石からは離れますので、やはりreactのプロの目から見ると違和感あるのですね。
一機能実現するために手順を踏んで2ファイル使うのが解り辛いかなと思いました。
作った自分は解るのですが、引き継ぐ人にはシンプルな手順で使えるようにしておきたいです。
render関数とコンポーネントの挿入関数を試行錯誤して一つのファイルにまとめたら >>450のようになりました。
>>450なら
import ExampleComponent from './examplecomponent';
const modal = new ExampleComponent ();
modal.show("メッセージです", "タイトル");
だけで済むので、クラスのusageに書いておけば利用手順も簡単でどの画面でも使えると思います。
reactの定石からは離れますので、やはりreactのプロの目から見ると違和感あるのですね。
455デフォルトの名無しさん
2023/02/20(月) 23:39:55.71ID:qmqKnMRQ Windowsアプリのメッセージダイアログみたいにメソッドひとつで呼び出せる手軽さを実現したいって理解でいいのかな
456デフォルトの名無しさん
2023/02/21(火) 02:04:19.05ID:R25lIONK あちこちに<ExampleComponent />追加したくないってことかな?その場合はProviderやContextを使うのが正式なやり方になると思う。
レイアウトに1個<ExampleComponent />追加する程度はふつうにやることなのでそれはみんなわかると思う。
レイアウトに1個<ExampleComponent />追加する程度はふつうにやることなのでそれはみんなわかると思う。
457デフォルトの名無しさん
2023/02/21(火) 08:04:52.44ID:pYWIE5Lo >Windowsアプリのメッセージダイアログみたいにメソッドひとつで呼び出せる手軽さを実現したいって理解でいいのかな
はい、それであっています。
>あちこちに<ExampleComponent />追加したくないってことかな?
はい、ReactのメリットはJavascriptにHTMLを書ける事なので、HTMLとの依存関係を切って
なるべくJavascriptだけで完結させたいです。
とくにモーダルのような汎用的などこでも使うものは、HTMLに<ExampleComponent />を記述させたくないです。
はい、それであっています。
>あちこちに<ExampleComponent />追加したくないってことかな?
はい、ReactのメリットはJavascriptにHTMLを書ける事なので、HTMLとの依存関係を切って
なるべくJavascriptだけで完結させたいです。
とくにモーダルのような汎用的などこでも使うものは、HTMLに<ExampleComponent />を記述させたくないです。
458デフォルトの名無しさん
2023/02/21(火) 13:34:11.33ID:5AAcCPtU メッセージダイアログ、確認ダイアログ、エラーダイアログなんかの共通系は
どこでも仕込みなしで呼び出したい
あるあるな要求だと思うけどReactではどうやるのが定石なんだろうね
どこでも仕込みなしで呼び出したい
あるあるな要求だと思うけどReactではどうやるのが定石なんだろうね
459デフォルトの名無しさん
2023/02/21(火) 13:52:30.32ID:pYWIE5Lo レイアウトが必要なコンポーネントは、HTMLファイルにreactのタグを埋め込む方向で理解できるのですが
メッセージダイアログのような画面中のレイアウトが必要無い物については
わざわざHTMLファイルにタグ埋め込んでおく必要ないのではと考えています。
javascriptで動的にタグを埋め込むのが良いと思いますが、タグ埋め込む機能をrender機能のファイルと別けたくないですね。
メッセージダイアログのような画面中のレイアウトが必要無い物については
わざわざHTMLファイルにタグ埋め込んでおく必要ないのではと考えています。
javascriptで動的にタグを埋め込むのが良いと思いますが、タグ埋め込む機能をrender機能のファイルと別けたくないですね。
460デフォルトの名無しさん
2023/02/21(火) 14:46:08.62ID:4BxaQg+7 Railsとかの既存画面にReactでモーダルだけ作ろうって話?
jQueryの代わりにReactみたいな使い方ならその時点で定石から外れてるわな
jQueryの代わりにReactみたいな使い方ならその時点で定石から外れてるわな
461デフォルトの名無しさん
2023/02/21(火) 14:59:48.47ID:5AAcCPtU いや、そういう話ではないよ
462デフォルトの名無しさん
2023/02/21(火) 15:18:03.61ID:4BxaQg+7 へ?普通にSPA?
それなのにDOMのエレメント作ってrender()呼ぶって?ただのアホじゃん
それなのにDOMのエレメント作ってrender()呼ぶって?ただのアホじゃん
463デフォルトの名無しさん
2023/02/21(火) 16:09:35.73ID:5AAcCPtU そりゃ動機があって試行錯誤の中でイレギュラーなことをしていて
より良い方法、より一般的な方法はないかという問いかけなんだし
より良い方法、より一般的な方法はないかという問いかけなんだし
464デフォルトの名無しさん
2023/02/21(火) 16:42:00.18ID:4BxaQg+7 試行錯誤にしても道を外れすぎ
React.renderはReactアプリ(コンポーネントツリー)全体をDOMにマウントするためのAPIで個々のコンポーネントが呼び出すもんじゃない
大抵はフレームワーク的なコード(CRAやNext.js)が呼び出すからアプリからは呼ばない
共通のモーダルコンポーネントはAppコンポーネントなどツリーのルート近くに一つだけ置く
そしてモーダルはそれを開くためのカスタムフックを利用者に提供する
モーダルの開閉制御に使うステートはRedux等のライブラリを使ってもいいしContext + useStateでもいい
React.renderはReactアプリ(コンポーネントツリー)全体をDOMにマウントするためのAPIで個々のコンポーネントが呼び出すもんじゃない
大抵はフレームワーク的なコード(CRAやNext.js)が呼び出すからアプリからは呼ばない
共通のモーダルコンポーネントはAppコンポーネントなどツリーのルート近くに一つだけ置く
そしてモーダルはそれを開くためのカスタムフックを利用者に提供する
モーダルの開閉制御に使うステートはRedux等のライブラリを使ってもいいしContext + useStateでもいい
465デフォルトの名無しさん
2023/02/21(火) 17:16:01.15ID:i5fGgfrB 試行錯誤ってのはそんなもんでしょ
まして最初にReactに不慣れだと断ってるわけだし
寛容にいこうよ
まして最初にReactに不慣れだと断ってるわけだし
寛容にいこうよ
466デフォルトの名無しさん
2023/02/21(火) 18:46:29.89ID:pYWIE5Lo イレギュラーなやり方ということは重々承知しています。
自分のやり方はreactのフル機能を使うよりも、ESM+Reactの機能の一部を使ったやり方になり
Reactの恩恵を受けられない事を承知しています。
その上で使い勝手を選択して、react機能の一部のみを使った開発を行うのもありなのではと思ったりしています。
ダイアログなどの静的なコンテンツについてはreactの機能を全て使い切らなくとも、reactが無くとも実現できますし、
reactの性能を発揮できる開発内容でもないと思っています。
静的HTMLのページをreactで作るのが効率悪いのと同様に、静的なダイアログ程度のものについてもreact使わない方が良いんじゃないかと。
その上で便利な部分(javascript上でHTMLを共有化できる)だけ摘まみ食いしたいです。
reactの専門家から見ると節操無いでしょうが、開発効率や汎用性を考えた場合に
こういったやり方はどうなんでしょうかと意見を」聞きたかったです。
自分のやり方はreactのフル機能を使うよりも、ESM+Reactの機能の一部を使ったやり方になり
Reactの恩恵を受けられない事を承知しています。
その上で使い勝手を選択して、react機能の一部のみを使った開発を行うのもありなのではと思ったりしています。
ダイアログなどの静的なコンテンツについてはreactの機能を全て使い切らなくとも、reactが無くとも実現できますし、
reactの性能を発揮できる開発内容でもないと思っています。
静的HTMLのページをreactで作るのが効率悪いのと同様に、静的なダイアログ程度のものについてもreact使わない方が良いんじゃないかと。
その上で便利な部分(javascript上でHTMLを共有化できる)だけ摘まみ食いしたいです。
reactの専門家から見ると節操無いでしょうが、開発効率や汎用性を考えた場合に
こういったやり方はどうなんでしょうかと意見を」聞きたかったです。
467デフォルトの名無しさん
2023/02/21(火) 19:00:38.86ID:YV4X7nvq468デフォルトの名無しさん
2023/02/21(火) 19:34:17.35ID:+X0VWij1 >>466
結局何をどう作ろうとしてるのかわからないんだよな
Reactで完全なSPAなら最初から449や456が書いてるとおりだし464も同じことを書いてる
しかし451の「サーバ側のview」とか466の「react機能の一部のみを使った開発」なら460に見えるんだよな
それなら452だろう
454で変なこと書いてるけど1ファイル1関数に制限さb黷驍けじゃなb「んだから2ファイルに分けたくなけりゃ分けなければいいだけ
結局何をどう作ろうとしてるのかわからないんだよな
Reactで完全なSPAなら最初から449や456が書いてるとおりだし464も同じことを書いてる
しかし451の「サーバ側のview」とか466の「react機能の一部のみを使った開発」なら460に見えるんだよな
それなら452だろう
454で変なこと書いてるけど1ファイル1関数に制限さb黷驍けじゃなb「んだから2ファイルに分けたくなけりゃ分けなければいいだけ
469デフォルトの名無しさん
2023/02/21(火) 19:38:08.77ID:zF6zP+5N つまり……
・他のreactコンポーネントから利用されるreactコンポーネントを作ってる
のか
・reactで作ってるけど利用する側はreactとか気にしないで使う
なのかどっちなんだという話
・他のreactコンポーネントから利用されるreactコンポーネントを作ってる
のか
・reactで作ってるけど利用する側はreactとか気にしないで使う
なのかどっちなんだという話
470デフォルトの名無しさん
2023/02/21(火) 19:41:59.71ID:pYWIE5Lo >>464の提示してるやり方はどう?
react的にはスマートなやり方なのでしょうが、react使わない方が実装手順を簡略化できるのでメリットを感じないです。
>>・reactで作ってるけど利用する側はreactとか気にしないで使う
の方です。
関わっているプロジェクトがこれからreactに乗り換えような流れなので、新規開発分からreactで作り始めているのですが、
そもそものベースがreactではないので、reactの便利な所だけ利用したい感じですね。
react的にはスマートなやり方なのでしょうが、react使わない方が実装手順を簡略化できるのでメリットを感じないです。
>>・reactで作ってるけど利用する側はreactとか気にしないで使う
の方です。
関わっているプロジェクトがこれからreactに乗り換えような流れなので、新規開発分からreactで作り始めているのですが、
そもそものベースがreactではないので、reactの便利な所だけ利用したい感じですね。
471デフォルトの名無しさん
2023/02/21(火) 19:54:51.48ID:zF6zP+5N472デフォルトの名無しさん
2023/02/21(火) 20:09:31.38ID:pYWIE5Lo >>471
多分言っている事を理解しました。
reactによるコンポーネント作成と表示する関数は別けたいと思います。
ファイルを別けるのには違和感がありましたが、同一ファイル内で2関数実装して
片方だけexportするなら理想通りです。
一度サンプルソースを作成してリーダーに相談してみます。
ありがとうございました。
多分言っている事を理解しました。
reactによるコンポーネント作成と表示する関数は別けたいと思います。
ファイルを別けるのには違和感がありましたが、同一ファイル内で2関数実装して
片方だけexportするなら理想通りです。
一度サンプルソースを作成してリーダーに相談してみます。
ありがとうございました。
473デフォルトの名無しさん
2023/02/22(水) 00:14:36.76ID:wXAQdOu8 実装者しか分からん負の遺産はこうやって増えていくんですね
自己満のためにプロジェクトを良くない方向に進めている自覚を持ちましょう。
あなたのやっていることは時間の無駄です。
自己満のためにプロジェクトを良くない方向に進めている自覚を持ちましょう。
あなたのやっていることは時間の無駄です。
474デフォルトの名無しさん
2023/02/22(水) 02:31:50.15ID:DPknPTwq だけど、いくらきれいに書いたとしても、後任者がアレな場合、結局、良くない方向に進む(本人たちは満足)なので、どないしようもない気がします
(という現場をよく見てきたので、どないしようもないですね)
(という現場をよく見てきたので、どないしようもないですね)
475デフォルトの名無しさん
2023/02/22(水) 21:02:05.11ID:ek8Yt4/u きれいなだけではダメで意図とか背景にある思想とかそういったものをちゃんと伝えておかないと
今回みたいに定石から外れることを自覚してるならなおさら
今回みたいに定石から外れることを自覚してるならなおさら
476デフォルトの名無しさん
2023/02/26(日) 16:09:53.37ID:7ZfAUNQ9 でも必死こいてゲットしたマイナポイントも結局使わないまま失効するんだろどうせ
477デフォルトの名無しさん
2023/02/26(日) 16:10:31.65ID:7ZfAUNQ9 スマン誤爆
478デフォルトの名無しさん
2023/02/26(日) 17:52:01.97ID:+WhKwZG4 >>476
必死こいで使おう
必死こいで使おう
479デフォルトの名無しさん
2023/09/09(土) 09:35:09.94ID:XstChhEA (>ェ<;
480デフォルトの名無しさん
2023/10/18(水) 11:53:52.23ID:pKa2ZouW redux!!
481デフォルトの名無しさん
2024/09/03(火) 11:41:52.36ID:a/z1r+/G 外部cssをimportじゃなくてhead要素に入れたいんだけど(scriptタグ多いのが嫌なだけ)、ドキュメントだとShowRenderedHTMLがいいって書いてあるっぽいけど他の方法あるのかな?無いならこれ使ってみる
Helmetで出来るもんだと思ってたんだけどなあ
Helmetで出来るもんだと思ってたんだけどなあ
482デフォルトの名無しさん
2025/10/09(木) 11:30:36.78ID:Z8SX7vJx Meta一社からReact Fundation管理になったけど、どう変わるかな?
名実ともにExpoやMicrosoftがオフィシャルになったからReactNative加速しそう?
名実ともにExpoやMicrosoftがオフィシャルになったからReactNative加速しそう?
レスを投稿する
ニュース
- 【速報】 アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 [お断り★]
- アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 ★2 [お断り★]
- 【高市自民】中国軍SNS 高市首相に怖すぎる地獄絵で警告、火の海の靖国神社「自ら墓穴を掘り、戻れない道へ進む」 [夜のけいちゃん★]
- 「二枚舌は許されない」中国外務省 高市総理の発言を批判… [BFU★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★8 [樽悶★]
- 中国国際航空が日本便を減便へ、春節休みも SNSでは投稿相次ぐ [七波羅探題★]
- 【実況】博衣こよりのえちえちお子様ランチ🛸💜🥀🧪🍃★2
- 【実況】博衣こよりのえちえちお子様ランチ🛸💜🥀🧪🍃
- 【悲報】高市有事、中国から追加の報復措置が来る模様 [834922174]
- 【男磨き】ハウスルール汁遊び禁止🈲🏡【ジョージメンズコーチ】
- 【悲報】イチゴ高騰で、ショートケーキからイチゴが消える🍰 [966095474]
- 俺は皆に楽しく生きてほしい
