第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在反應(yīng)中單擊時(shí)切換字體真棒圖標(biāo)

在反應(yīng)中單擊時(shí)切換字體真棒圖標(biāo)

炎炎設(shè)計(jì) 2021-10-14 14:29:04
我想在點(diǎn)擊時(shí)切換字體真棒圖標(biāo)。當(dāng)頁(yè)面加載時(shí),我查詢后端并查明用戶是否已注冊(cè)課程,如果他們已注冊(cè),我會(huì)顯示一個(gè)勾號(hào)圖標(biāo),否則我會(huì)顯示一個(gè)咖啡圖標(biāo)。最終目標(biāo)是讓每個(gè)單獨(dú)的圖標(biāo)在點(diǎn)擊時(shí)變成相反的。目前,當(dāng)我點(diǎn)擊圖標(biāo)時(shí),例如,如果我點(diǎn)擊一個(gè)杯子圖標(biāo),它不僅會(huì)變成一個(gè)勾號(hào),還會(huì)將其余的杯子圖標(biāo)也變成勾號(hào)。如何解決此問(wèn)題,以便單擊時(shí)僅影響單擊的圖標(biāo)?這是我的代碼功能組件export const CourseCard = ({  video,  normaluser,  adminuser,  userauthenticated,  adminauthenticated,  handleUnroll,  handleEnroll,  enrolled,  unrolled}) => (    <Grid item xs={6} md={4} lg={3}>            {(video.enrolled_students.includes(normaluser) &&              userauthenticated) ||            (video.enrolled_students.includes(adminuser) &&              adminauthenticated) ? (                <div className="enrol__button">                  <div>                    <a href="#" onClick={() => handleUnroll(video.slug)}>                      <FontAwesomeIcon                        icon={enrolled ? faCheckSquare : faCoffee}                      />                    </a>                  </div>                </div>            ) : (!video.enrolled_students.includes(normaluser) &&                userauthenticated) ||              (!video.enrolled_students.includes(adminuser) &&                adminauthenticated) ? (                  <div>                    <a href="#" onClick={() => handleEnroll(video.slug)}>                      <FontAwesomeIcon                        icon={unrolled ? faCoffee : faCheckSquare}                      />                    </a>                  </div>            ) : (                   ""            )}    </Grid>容器export class AllCourses extends React.Component {  constructor(props) {    super(props);    this.user = details(AUTHENTICATED);    this.admin = AdminDetails(AUTHENTICATED);    const token = localStorage.getItem("token");    let normaldetail = details(token);    this.normaluser = normaldetail.user_id;    let admindetail = AdminDetails(token);    this.adminuser = admindetail.user_id;    this.state = {      enrolled: true,      unrolled: true    };
查看完整描述

3 回答

?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以改為以布爾值為條件,嘗試將當(dāng)前卡密鑰與已檢查的卡密鑰進(jìn)行比較


<FontAwesomeIcon icon={this.props.checkedCard == this.props.key ? faCoffee : faCheckSquare} />

并在您的容器中:


handleEnroll = slug => {

   this.props.dispatch(Enroll(slug));

   this.setState({checked: this.props.key}); 

}

和 :


<CourseCard

  key={video.slug}

  video={video}

  checkedCard={this.state.checkedCard}


查看完整回答
反對(duì) 回復(fù) 2021-10-14
?
30秒到達(dá)戰(zhàn)場(chǎng)

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊

由于您正在檢查Grid組件當(dāng)前用戶是否已注冊(cè)(通過(guò)查看該video.enrolled_students數(shù)組是否包含當(dāng)前用戶),那么這些enrolledunrolled標(biāo)志似乎不再需要了。

因此,Grid您應(yīng)該能夠?qū)⒌谝粋€(gè)<FontAwesomeIcon />調(diào)用更改為:

<FontAwesomeIcon icon='faCheckSquare' />

第二個(gè)到

<FontAwesomeIcon icon='faCoffee' />

此外,您在 AllCourses 中有一個(gè)拼寫(xiě)錯(cuò)誤,您this.props.dispatch(Enroll(slug));在這兩個(gè)課程中都調(diào)用了它handleEnroll,handleUnroll并且它最有可能Unroll(slug)在第二個(gè)中調(diào)用。


查看完整回答
反對(duì) 回復(fù) 2021-10-14
?
飲歌長(zhǎng)嘯

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊

這是因?yàn)?handleEnroll 和 handleUnroll 設(shè)置了所有課程共享的狀態(tài)。根據(jù)您的描述,聽(tīng)起來(lái)您希望狀態(tài)實(shí)際上是每門(mén)課程。


所以你應(yīng)該AllCourses稍微改變一下


handleEnroll = slug => {

  // This should cause some change to the relevant course in allCourses

   this.props.dispatch(Enroll(slug));

}


handleUnroll = slug => {

  // This should cause some change to the relevant course in allCourses

  this.props.dispatch(Enroll(slug));

}


// Delete this

this.state = {

    enrolled: true,

    unrolled: true

};

然后更改 CourseCard 映射以使用來(lái)自video而非現(xiàn)已淘汰的 AllCourses 狀態(tài)的屬性。


{allCourses.map(video => (

 <CourseCard

     key={video.slug}

     video={video}


     enrolled={video.enrolled}

     unrolled={video.unrolled}


     handleEnroll={this.handleEnroll}

     handleUnroll={this.handleUnroll}

     normaluser={normaluser}

     adminuser={adminuser}

     userauthenticated={userauthenticated}

     adminauthenticated={adminauthenticated}

  />

))}


查看完整回答
反對(duì) 回復(fù) 2021-10-14
  • 3 回答
  • 0 關(guān)注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)