簡體   English   中英

在ReactJS的OnClick事件中傳遞Nav標簽的值或名稱

[英]Pass the value or name of a Nav tag in an OnClick event in ReactJS

我遇到了一個無法解決的愚蠢的小問題,就是如何將值傳遞給OnClick事件? 我需要通過它,因為它是菜單中某些值的值,並且我正在使用它們進行處理:

我的onClick函數:

  onClick() {
    this.setState(prevState => ({ childVisible: !prevState.childVisible }));
  }

我的“導航欄”的邏輯是:

   <NavLink
                      onClick={() => this.onClick()}
                      value={"Spain"}
                      to="/other">
                      Spain
                    </NavLink>
       <NavLink
                      onClick={() => this.onClick()}
                      value={"EE.UU"}
                      to="/sidebar">
                      EE.UU
                    </NavLink>

之后,我需要恢復OnClick函數的值(國家(西班牙或EE.UU)的名稱)傳遞。

我了解有很多帖子,但對我不起作用。

謝謝!

你有沒有嘗試過

   <NavLink
     onClick={() => this.onClick("Spain")}
     value={"Spain"}
     to="/sidebar">
     Spain
   </NavLink>

在您的onClick函數中,您將獲得價值

onClick(value) {
 console.log(value); //Spain
}

您可以使用currying,請注意,您可能必須對此進行綁定或使用箭頭函數自動綁定適當的this上下文

  onClick(value) {
    // use value how ever you need
    this.setState(prevState => ({ childVisible: !prevState.childVisible }));
  }

  bindValueToClick(value) {
     return function() {this.onClick(value)};
  }

   <NavLink
     onClick={this.bindValueToClick("Spain")}
     value={"Spain"}
     to="/sidebar"
   >
     Spain
   </NavLink>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM