やりたいこと
typescript
1// arrayからhtmlを作りたい 2const array = ['The', 'quick', 'brown', 'fox'] 3const html = `<span onClick={handleClick}>The</span> <span onClick={handleClick}>quick</span> <span onClick={handleClick}>brown</span> <span onClick={handleClick}>fox</span>` 4// handleClickは、clic時に該当spanのテキストを取得する関数
困っていること
array.map()
でどのようにhandleClick
を書けばいいかわからないhandleClick
をどう書けばspanのテキストが取得できるかわからない
現状のコード
const handleWordClick = (event: React.MouseEvent) => console.log((event.target as HTMLSpanElement).innerHTML); const texthtml = textArray .map( (w, i) => `<span key=${i} onClick="${handleWordClick}"> ${w} </span>`, ) .join(' ');
試したこと
this.handleWordClick
と記述- map()の外で
<span onClick={event => console.log(event.currentTarget.textContent)}>
で書くとやりたいことができる(mapの中でやりたい)
どう書けば目的とする挙動が得られるか知りたいです
回答1件
あなたの回答
tips
プレビュー