當我通過組件渲染方法中的道具進行映射時,是否可以將prop值傳遞給函數。我忘記了這樣做的正確方法。例如,我有一個類別標籤控件,它只是列出了一些名稱的類別,但onClick我想爲個別類別執行一些功能。通過道具參數在映射時在React.js中起作用
var React = require("react");
var CategoryTags = React.createClass({
propTypes: {
categories: React.PropTypes.array.isRequired
},
render: function() {
var categoryRows = this.props.categories.map(function (c, i) {
return (
<button onClick={ this.linkToCategory.bind(name) } >
{c.name}
</button>
);
}.bind(this));
return (
<span>{categoryRows}</span>
);
},
linkToCategory: function (c) {
console.log(c);
}
});
因此,在這個例子中,雖然測繪雖然類,我想在各個類別的名稱來傳遞,所以我可以解析的鏈接。當然,對象有一個鏈接屬性是有意義的,但在這種情況下它沒有。類別
實例對象被傳遞到組件道具
categories = [{'name': 'cat1'}, {'name': 'cat2'}];
謝謝,這是在.bind方法我有它的'.bind(c.name)'一個錯字,但我忘了傳作爲第一個參數。 –
當您需要在通過道具進行映射時需要調用某個函數或者使用其他方法時,是否有React文檔介紹如何避免重新渲染? –
我所做的只是創建另一個接受回調的組件。例如。你可以擁有你自己的Button組件,它接受'name'和'onClick'處理程序作爲prop,並且當按鈕被點擊時它簡單地將'name'道具傳遞給處理程序。 –