雖然我已經在reactjs組件的渲染方法(名爲renderLocationLink的組件)的render方法中包含a標記的onclick處理程序,但呈現發生正確onclick處理程序屬性犯規出現在網頁上呈現的HTML。我希望沒能弄清楚什麼問題,這裏是代碼錨標記(標記)onclick事件處理程序不工作
var feedApp = React.createClass({
getInitialState: function(){
return {
data : [
{display_name:"Rao",content:"this is Rao post",links:['link1','link2','link3']},
{display_name:"Sultan",content:"this is Sultans",links:['link4','link5','link6']},
{display_name:"John",content:"this is John post",links:['link7','link8','link9']}
]
}
},
fetchFeedsFromUrl: function(){
console.log('Onclick triggered');
},
render: function(){
return (<Feeds data={this.state.data} onClick={this.fetchFeedsFromUrl} />)
}
})
var Feeds = React.createClass({
render: function(){
var onClickfunc = this.props.onClick;
var feeds = this.props.data.map(function(feed){
return (
<oneFeed name={feed.display_name} onClick={this.onClickfunc} content={feed.content} links={feed.links} />
)
});
return(
<div> {feeds} </div>
)
}
})
var oneFeed = React.createClass({
render: function() {
return (
<div>
<h3>{this.props.name}</h3>
<renderLocationLink onClick={this.props.onClick} linkArray={this.props.links} />
<p>{this.props.content} </p>
</div>
)
}
});
var renderLocationLink = React.createClass({
render: function(){
var onClick = this.props.onClick;
var locationLinks = this.props.linkArray.map(function(link,index){
return (<a onClick={this.onClick} href={link}>{link} </a>)
})
return (<div >{locationLinks}</div>)
}
})
React.renderComponent(feedApp(null),document.body);
是否存在''''onClick'''屬性在您的渲染標記中出現的問題,還是處理程序似乎不起作用的問題? – 2014-10-27 15:25:04
@DanielApt,這兩種情況都是真實的,onClick不存在於呈現的標記中,並且它不工作太... – 2014-10-27 16:18:13
好吧,它永遠不會出現在呈現的標記中。您可能只是將屬性傳遞到目前爲止,並且屬性永遠不會達到預期的子組件。 – 2014-10-27 17:19:43