react onClick自執行問題
寫元件的時候發現子元件的onClick方法自動執行了,程式碼如下:
let columns=[
{
title:"姓名",
width:"150",
dataIndex:"name"
},
{
title:"年齡",
width:"150",
dataIndex:"age"
},
{
title:"選單許可權",
width:"150",
dataIndex:"menuConfig",
//render=(text,record)=>{
//return(
//<div onClick={this.detail(record)}>
// 選單配置
// </div>
//)
}
]
//發現onclick竟然自己執行了
columns[2].render=(text,record)=>{
return(
<div onClick={this.detail(record)}>
選單配置
</div>
)
}
detail=(record)=>{
this.props.history({pathname:"/menuConfig",state:record})
}
找了很久都沒找到原因,最後改變了一下寫法就好了,解決方案如下:
let columns=[
{
title:"姓名",
width:"150",
dataIndex:"name"
},
{
title:"年齡",
width:"150",
dataIndex:"age"
},
{
title:"選單許可權",
width:"150",
dataIndex:"menuConfig",
//render=(text,record)=>{
//return(
//<div onClick={this.detail(record)}>
// 選單配置
// </div>
//)
}
]
//發現onclick竟然自己執行了
columns[2].render=(text,record)=>{
return(
//方式一:繫結一個函式在函式內部呼叫
<div onClick={()=>this.detail(record)}>
選單配置
</div>
//方式二:用bind繫結
<div onClick={this.detail.bind(this,record)}>
選單配置
</div>
)
}
detail=(record)=>{
this.props.history({pathname:"/menuConfig",state:record})
}
相關文章
- CheckBox、ToggleSwitch 程式碼修改 自動觸發 onclick的問題,把onclick的邏輯 寫在onmouseup裡 解決問題
- app 自動化 (真機)+jenkins 進行執行問題APPJenkins
- 解決react useEffect中的內容被執行兩次的問題React
- webViewDidFinishLoad 執行多次的問題WebView
- 03 執行緒安全問題執行緒
- SimpleDateFormat 執行緒安全問題ORM執行緒
- React Hooks學習之旅五:useMemo解決子元件重複執行問題ReactHook元件
- React-Native執行報錯問題彙總 以及Taro小程式異常React
- 一個不常遇到的HbuilderX自動化測試執行問題UI
- 請教個問題執行 httprunner 遇到的問題HTTP
- 多執行緒相關問題執行緒
- ArrayList 的執行緒安全問題執行緒
- 多執行緒問題解釋執行緒
- JUC之多執行緒鎖問題執行緒
- [20230224]ssh date執行問題.txt
- 深入JAVA執行緒安全問題Java執行緒
- react 中echarts-for-react使用resize解決圖表自適應問題ReactEcharts
- Java多執行緒中執行緒安全與鎖問題Java執行緒
- parallelStream中的執行緒安全問題Parallel執行緒
- Aqua Data Studio 執行HiveSql的問題HiveSQL
- 執行docker run所遇到的問題Docker
- 多執行緒之8鎖問題執行緒
- 05.java多執行緒問題Java執行緒
- 子執行緒 UI 問題捉蟲執行緒UI
- onclick="return check()" 和 onclick="check()" 區別
- 結合執行棧、執行上下文,理解this的指向問題
- 執行react build 檔案ReactUI
- react 學習 問題React
- [開發問題]React-native問題集React
- 多執行緒,你覺得你安全了?(執行緒安全問題)執行緒
- HashMap多執行緒併發問題分析HashMap執行緒
- 解決jenkins執行磁碟滿的問題Jenkins
- 模板方法中的執行緒安全問題執行緒
- lambda中stream執行緒安全的問題執行緒
- 執行 shell 指令碼 \r 問題解決指令碼
- 從FMDB執行緒安全問題說起執行緒
- 第15篇 執行緒鎖的問題執行緒
- CMD執行命令列時卡住的問題命令列