私はリアクションを学んでおり、メモリゲームアプリを作成しようとしています。カードのコンポーネントをクリックすると、そのカードを空の配列。しかし、新しいカードをクリックするたびに、小道具の値が変わるので、2番目のカードをクリックすると最初のカードが保存されず、正しく保存されません。私は同様の質問のいくつかをチェックしたが、投稿された問題は異なっている。私の反応のアプリケーションの配列にオブジェクトを追加する方法
import React from 'react';
import '../memoryGameStyle/card.css';
class Card extends React.Component{
constructor(props){
super(props);
this.state={card:'' }
}
onCardClick=()=>{
const array=[]
const newCard={...this.props.card,show:true}
this.setState({card:newCard})
}
render(){...}
}
export default Card
新しいカードをonCardClickの配列にプッシュしようとしています。私は2つの小道具を持っています、私はクリックしたカードを表示し、もう1つはすべてのカードの配列を表示します。私はfilter()、push()、spreadオペレータ、これまでの作業を使わないようにしようとしました。助けてください、ありがとう
あなたの状態でカード変数を上書きしています。それはどのように –
小道具を保存すべきではありません変更する必要があります。 this.props.cardには何が含まれていますか? –
@ Sujit.Warrier、card propsには、カードの色、表示と一致のステータス、およびIDが含まれています。色は別のコンポーネントでランダムに生成され、私はカードの表示または非表示を確認するためにショーと一致を使用します – Nhat