私はEmailItem
というステートレスコンポーネントを持っています:それをクリックすると、私はそれをいくつかの機能を介して新しい小道具にすることができます。そのコンポーネントの小道具を制御するステートレスコンポーネントのonClickイベント
<EmailItem key={i} onClick={// onClick function} emailData={email} read={false} />
EmailItem
がクリックされていると、読み取りpropがtrueに変更されます。
これは、ステートフルなコンポーネントをEmailItem
とすることで実現できます。しかし、それは反復可能なコンポーネントであり、あなたが必要としない状態を追加する私の理解から、それは悪いです。間違っていれば私を正す。
e.targetとrefが動作しないため、私が使用する関数の内容について混乱します。
このread
propは、ステートレスコンポーネントのアイテムのクラスを変更します。
const EmailItem = (props) => {
let readClass = props.emailData.read ? '--read' : ''
return (
<div onClick={props.onClick} className='email'>
<div className={'email__read' + readClass} />
<div className='email__leftside'>
<div className='email__from'>{props.emailData.from}</div>
<div className='email__subject'>{props.emailData.subject}</div>
<div className={'email__body'}>{props.emailData.body}</div>
</div>
<div className='email__rightside'>
<div className='email__date'>{props.emailData.date}</div>
<div className='email__time'>{props.emailData.time}</div>
</div>
</div>
)
}
email__read
クラス名は、電子メールが読まれたかどうかの指標かがない
を試してみてonclickの –
@PriyeshKumar私にそれを呼び出しますReduxを使用していますが、私はこの能力を認識しています。しかし、私はあなたがステートレスコンポーネントを参照するためにrefを使うことはできないことを知っています。そしてevent.targetはpropsを表示せず、html属性のみを表示します。私は、私が使用する機能の内容についてより混乱しています。元の投稿ではっきりしていないのは残念です。あなたはコンポーネントコード、およびコンテキストを置くことができる場合は、e.targetまたはREF必要なぜ – Sequential
は、それは(あなたがしようとしているもの)^ _^ –