React と React Native のスレ (481レス)
1-

225: 2021/11/21(日)21:16 ID:zzbPLRQo(1) AAS
石頭の老害相手に反論しても無駄
226: 2021/11/21(日)22:35 ID:UWSF5n1L(2/2) AAS
馬鹿は論破できない
227: 2021/11/22(月)10:00 ID:HTg16b0P(1) AAS
今どきfunctionって書くか?
228: 2021/11/22(月)14:12 ID:yxcpONXb(1) AAS
書かない
229: 2021/12/03(金)10:05 ID:OvhoAu9V(1) AAS
ボタン連打するけしからん奴対策の定番ライブラリ教えてよ
送信フラグ管理はもう疲れた
あ、いちおクロスプラットフォームのライブラリでヨロ
230: 2021/12/03(金)16:35 ID:ZR9gqQ7Z(1) AAS
ボタン押下で実行されるのをステートの値をtrueにするのみのsetAnyState(true)とかにして
実処理を
useEffect(()=>{if(anyState){
// 実際したい処理
setAnyState(false)
}},[anyState])
にしとけば連打されても大丈夫じゃね?
231: 2021/12/03(金)18:25 ID:C14FVshC(1) AAS
ボタンが押されたらボタンをdisabledにすればいいじゃん
232: 2021/12/03(金)19:41 ID:L4TUqIiQ(1) AAS
わろた
233: 2021/12/03(金)19:41 ID:50htZSL3(1) AAS
それだとめっちゃ高速にダブルクリックした場合多分イベント2回来る場合ある
234: 2021/12/03(金)20:19 ID:mMKMUGdN(1) AAS
JavaScriptはシングルスレッド
235: 2021/12/06(月)19:49 ID:56/uA2M5(1) AAS
function useMyHook() {
const [a, setA] = useState(0);
const [b, setB] = useState(0);
return {
foo: () => a+b,
bar: () => a-b,
};
}

function MyComp () {
const myhook = useMyHook();
useEffect(() => {
if (myhook.foo() > 100 && myhook.bar() < 20)
hoge();
}
}, [???]);
return <Aaaaa />;

???はどう書くのが正解?
推移的に依存してるのはa, bだがa、bには直接アクセスできない
236
(2): 2021/12/06(月)20:06 ID:4QzxG6KH(1/3) AAS
useMyEffectもuseMyHookでやるべきじゃねーの
それができないならuseMyEffectを

foo: useCallback(() => a+b, [a, b]),
bar: useCallback(() => a-b, [a, b])

とすれば[???]は

[myhook.foo, myhook.bar]
237: 2021/12/06(月)20:07 ID:4QzxG6KH(2/3) AAS
とりあえずこれ読んどけ
外部リンク:blog.uhy.ooo
238: 2021/12/06(月)20:11 ID:4QzxG6KH(3/3) AAS
>>236
1行目訂正

useEffectもuseMyHookでやるべきじゃねーの
239: 2021/12/06(月)22:16 ID:zN0DCcOz(1) AAS
>>236
thank you.
240: 2021/12/08(水)14:16 ID:/W89KInL(1/2) AAS
function MyComp () {
const vm = useMyCompViewModel();
return <略 />;
}

MyCompのユニットテストする時ってどうしてる?
つまりuseMyCompViewModelをインジェクトしたい時
241
(1): 2021/12/08(水)15:51 ID:5zVi58LJ(1) AAS
外部リンク:github.com
242: 2021/12/08(水)19:22 ID:/W89KInL(2/2) AAS
>>241
?
でもこれフックのテスト用なのでは?
そうじゃなくフックをモック化してコンポーネントをテストしたい
243
(1): 2021/12/08(水)21:33 ID:Rfcvtfm3(1) AAS
テストだけならこんなんで十分じゃね
function MyComp (props) {
const useViewModel = props.useMyCompViewModel || useMyCompViewModel
const vm = useViewModel();
return <略 />;
}
244: 2021/12/08(水)21:48 ID:lkzI+wPD(1) AAS
経年劣化に耐える ReactComponent の書き方
外部リンク:zenn.dev
245: 2021/12/08(水)22:23 ID:SYjhTw/G(1) AAS
>>243
なるぼどなぁ
これで少しやってみよかな
246: 2021/12/11(土)11:45 ID:zttGewLv(1/2) AAS
サードパーティコンポーネントが状態や副作用を持っているがこれを除去してステートレスにしたい
どうすればいい?ソースコードを書き換えるのは無しで
247: 2021/12/11(土)11:52 ID:GrxR7SwR(1/2) AAS
プルリクエスト
248: 2021/12/11(土)12:05 ID:zttGewLv(2/2) AAS
function IWantEasyTestableComponent(props) {
return (<View>
<FackingStatefullComponent foo={props.foo} />
<MyAwesomeStatelessComponent {…props} />
</View>);
}

こういうの、どうすりゃいいんだ?
野良ライブラリはどれもこれもアマチュアが好き勝手作ってるから、利便性はともかく品質のムラが大きすぎる
できれば使いたく無いが、使う前提で予算と工程を組まれる
オープンソースのダークサイドやね
249
(1): 2021/12/11(土)12:21 ID:GrxR7SwR(2/2) AAS
jest.mock('path/to/FackingStatefullComponent')
250: 2021/12/11(土)12:27 ID:RI4P88iz(1) AAS
>>249
ソースコードの書き換えとどう違うんだそれ?
251: 2021/12/11(土)12:44 ID:g9v4y15i(1) AAS
依存関係をインターフェース等で明示的に分離してインジェクションするポイントを作るという考え方ではなく
モジュール自体を上書きしてしまうことで無理やりインジェクションするということか
違和感が強いがこれがJavaScriptの文化と思って受け入れるしかないか
252: 2021/12/12(日)21:59 ID:wsjthnMX(1) AAS
LogBox邪魔すぎる
機能OFFにできんのかコレ
253: 2021/12/20(月)09:27 ID:vskoYLeQ(1) AAS
状態、副作用は親コンポーネントに持たせるべきか
子コンポーネントに持たせるべきか
254: 2021/12/20(月)17:18 ID:hUMHHR9z(1) AAS
コンポーネントの用途に依る
基本的にはコンポーネントで独立してる方がいいと思う

ちゃんと精査すれば全体で管理しなきゃいけない状態ってそんなに多くないはず
1-
あと 227 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.010s