我想在警報窗口中顯示人員的電子郵件。但是,我不知道如何將電子郵件作爲參數傳遞給displayAlert方法。另外,它不會讓我使用。所以,我必須將displayAlert方法分配給一個變量並在onClick中使用它。我不知道爲什麼它不會讓我直接打電話給它。如何將參數傳遞給React js中的函數?
class People extends React.Component{ render(){ var handleClick = this.displayAlert; var items = this.props.items.map(function(item) { return( <ul key = {item.id}> <li> <button onClick= {handleClick}>{item.lastName + ', ' + item.firstName}</button> </li> </ul> ) }); return (<div>{items}</div>); } displayAlert(){ alert('Hi'); } } class PersonList extends React.Component{ render() { return ( <div> <People items={this.props.people}/> /* People is an array of people*/ </div> ); } }
25
A
回答
60
的ES6方式:
使用箭頭功能=>
const items = this.props.items.map((item) => (
<ul key={item.id}>
<li>
<button onClick={() => this.displayAlert(item.email)}>
{item.lastName + ', ' + item.firstName}
</button>
</li>
</ul>
));
onClick
匿名函數被調用並執行this.displayAlert(item.email)
ES5的方式:
你可以使用.bind
並在那裏傳遞參數。
你也應該通過this
或使用綁定,以保持適當的環境對你.map
功能:
var items = this.props.items.map(function(item) {
return (
<ul key={item.id}>
<li>
<button onClick={this.displayAlert.bind(this, item.email)}>
{item.lastName + ', ' + item.firstName}
</button>
</li>
</ul>
);
}, this);
圖中所示爲這裏的例子:React - Communicate Between Components
1
使用箭頭功能和巴貝爾插件「變換級-properties「
class People extends React.Component {
render() {
return (
<ul>
{ this.props.items.map((item) => (
<li key={item.id}>
<button onClick={this.displayAlert(item)}>
{item.lastName + ', ' + item.firstName}
</button>
</li>
))}
</ul>
)
}
displayAlert = (item) => (event) => {
// you can access the item object and the event object
alert('Hi');
}
}
相關問題
- 1. 如何將參數傳遞給asp.net中的js函數
- 2. 如何將參數傳遞給React子的綁定函數?
- 3. 如何將參數傳遞給傳遞給mapPartitions的函數?
- 4. 如何將參數傳遞給函數?
- 5. 如何將參數傳遞給函數
- 6. 如何將元素ID傳遞給函數的參數? HTML/JS
- 7. 將多個參數傳遞給React中的onChange/onClick函數
- 8. js:無法將參數傳遞給setTimeOut中的匿名函數
- 9. asp.net將參數傳遞給列表視圖中的js函數
- 10. 將參數傳遞給js函數在不同的頁面中
- 11. 如何將傳遞給main(在argv中)的參數傳遞給我的函數?
- 12. 將未知數的參數傳遞給js構造函數
- 13. 如何將ASP.Core中的Serverside參數傳遞給React?
- 14. 如何將數組傳遞給codeigniter中的函數參數
- 15. 將參數傳遞給Compose的函數?
- 16. 的JavaScript將參數傳遞給根$(函數(){..})進入的.js
- 17. 將數組傳遞給函數參數
- 18. 如何將道具傳遞給React中的非呈現函數?
- 19. 將.js的函數傳遞給HTML
- 20. Rails的:將參數傳遞給渲染js函數
- 21. js - 將額外的參數傳遞給回調函數
- 22. 將參數傳遞給現有的onClick JS函數
- 23. 如何參數傳遞給jQuery函數
- 24. 如何參數傳遞給javascript函數
- 25. Python,如何將參數傳遞給函數指針參數?
- 26. 如何將參數傳遞給Javascript中的對象的函數?
- 27. 在codeigniter中,如何將數組傳遞給函數參數
- 28. 如何將未指定數量的參數傳遞給js函數?
- 29. 將參數傳遞給函數,該參數必須作爲參數傳遞給python中的另一個函數
- 30. 參數傳遞給函數
如果我想要添加傳遞另一個對象,比如說一個字符串與項目? –