将对象作为参数传递给redux“表示组件”中的函数的最佳方法是什么?
我有一个text.setTextSize(TypedValue.COMPLEX_UNIT_SP,14);
Or
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,getResources().getDimension(R.dimen.font));
容器组件。在BookList中,我为每本书呈现<BookList />
演示组件。
我想在每个BookListRow中创建一个按钮来删除该书。所以我这样做:
<BookListRow/>
这个有效!但我读到,由于性能不佳,最好避免在JSX中使用箭头函数。那么什么是更好的方式?
答案 0 :(得分:2)
您可以使用类组件:
class BookListRow extends React.Component {
onBtnClick = () => {
this.props.deleteBook(this.props.book);
};
render () {
return (
...
onClick={this.onBtnClick}
...
)
}
}
如果您想使用无状态功能组件,我认为您可以使用memoization来优化
我在这里写了一个非常简单的概念证明:http://codepen.io/CodinCat/pen/NpwLRE?editors=0011
真正的onclick函数只会被声明一次。我们将它们保存到Map
,以便每次父组件重新渲染时,我们都可以重复使用它们。
上面的例子只是一个非常简单的PoC。仅当从父级传递的onClick
方法不会动态更改时,它才有效。