回答編集履歴

1

コメントを受けて回答を追記

2021/03/25 06:23

投稿

nekoniki
nekoniki

スコア2411

test CHANGED
@@ -1,3 +1,45 @@
1
1
  `isEditTitle`で`<p>`と`<input>`の制御をしているので、
2
2
 
3
3
  その値を使って一時的に親の`onClick`を`undefiend`にすればよいかと思います。
4
+
5
+
6
+
7
+ # コメントを受けての追記
8
+
9
+ > ご回答ありがとうございます!
10
+
11
+ handleClick内で条件分岐をしたのですが、動きが変わらなかったです。
12
+
13
+ console.logにて isEditTitle の中身を確認してみたのですが、Blurが動いた後にOnClickが動くため一瞬 isEditTitle でイベントが削除されますが、すぐに付与され動いてしまっているようです。
14
+
15
+ 質問内容とは少し異なり申し訳ありませんが、何か対応方法ありますでしょうか?
16
+
17
+
18
+
19
+
20
+
21
+ 回答の意図としては`handleClick`すら走らせないという認識です。
22
+
23
+
24
+
25
+ ↓以下のように書いている箇所を
26
+
27
+ ```jsx
28
+
29
+ <div className="project" onClick={ () => handleClick(props.id) } >
30
+
31
+ ```
32
+
33
+
34
+
35
+ `isEditTitle`が`false`の時のみ`handleClick`を行うようにするので
36
+
37
+
38
+
39
+ ```jsx
40
+
41
+ <div className="project" onClick={!isEditTitle? () => handleClick(props.id) : undefiend } >
42
+
43
+ ```
44
+
45
+ にするというイメージです。