0
我有這段代碼,它呈現了一個Friends List塊。在名稱旁邊,有一個動作下拉菜單,其中有幾個按鈕,我需要分離每個按鈕以及它屬於哪個用戶。到目前爲止它工作正常,但輸出所有用戶名,一個接一個。在下拉菜單中檢查onClick警報。當我按下href時,沒有任何反應,但是,當新內容加載時,它會彈出alert foreach用戶列表。在React中循環,如何從子組件中獲取prop.username
var UserDropdownActions = React.createClass({
handlesendMessage: function(username){
console.log(username);
},
render: function() {
return(
<div className="tbl-cell tbl-cell-action">
<div className="btn-group">
<button type="button" className="btn btn-rounded btn-primary-outline dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Connect
</button>
<ul className="dropdown-menu">
<li><a className="dropdown-item" href="javascript:;" onClick={alert(this.props.username)}><span className="font-icon font-icon-home"></span>Quant and Verbal</a></li>
<li><a className="dropdown-item" href="javascript:;"><span className="font-icon font-icon-cart"></span>Real Gmat Test</a></li>
<li><a className="dropdown-item" href="javascript:;"><span className="font-icon font-icon-speed"></span>Prep Official App</a></li>
<li><a className="dropdown-item" href="javascript:;"><span className="font-icon font-icon-users"></span>CATprer Test</a></li>
<li><a className="dropdown-item" href="javascript:;"><span className="font-icon font-icon-comments"></span>Third Party Test</a></li>
</ul>
</div>
</div>
);
}
})
var UserDisplayNameFields = React.createClass({
render: function(){
return(
<div className="tbl-cell">
<p className="user-card-row-name status-online">{this.props.username}</p>
<p className="user-card-row-location">{this.props.hobby}</p>
</div>
);
}
});
var UserPreviewCircularImage = React.createClass({
render: function(){
return(
<div className="tbl-cell tbl-cell-photo thumbnail-wrapper d32 circular inline m-t-5">
<a href={"/user/" + this.props.username}>
<img src={this.props.avatar} alt={this.props.username} />
</a>
</div>
);
}
});
var UserSmallView = React.createClass({
render: function() {
return (
<div className="friends-list-item">
<div className={"user-card-row user_" + this.props.username}>
<div className="tbl-row">
<UserPreviewCircularImage avatar={this.props.avatar} username={this.props.username} />
<UserDisplayNameFields username={this.props.username} hobby={this.props.hobby} />
<UserDropdownActions username={this.props.username} />
</div>
</div>
</div>
);
}
});
var FriendList = React.createClass({
render: function() {
return (
<div className="friends-list">
{
this.props.users.map((user, i) => {
return(
<UserSmallView
key={i}
username={user.username}
hobby={user.hobby}
avatar={user.avatar} />
)
})
}
</div>
);
}
});