javascript - 在 React 组件之上声明通用实用程序函数与将函数声明为组件的一部分
问题描述
在 React 组件之上声明函数与将函数声明为组件的一部分之间有什么区别。
在getDisplayOptions
组件本身中。
class PageShoppingChannel extends React.Component {
getDisplayOptions = (providers) => {
const options = []
const { isFaeSet } = this.props
providers.forEach((item) => {
// code here
})
return options
}
render() {
return (
<Wrapper>
<TempIllsWithInfo illsType='Orders [Red]' infoBloc={infoBlock} />
<hr className='row-spacing--sm' />
{this.getDisplayOptions(this.props.providers)}
</Wrapper>
)
}
}
在getDisplayOptions
组件之前。
getDisplayOptions = (providers) => {
const options = []
providers.forEach((item) => {
// code here
})
return options
}
class PageShoppingChannel extends React.Component {
render() {
return (
<Wrapper>
<TempIllsWithInfo illsType='Orders [Red]' infoBloc={infoBlock} />
<hr className='row-spacing--sm' />
{getDisplayOptions(this.props.providers)}
</Wrapper>
)
}
}
我相信在前一种情况下,该功能会附加到prototype
of PageShoppingChannels
。这两种方法的优点和缺点是什么。我相信这是一个 javascript 问题,但我的例子是反应,所以请原谅我在这里将两者混为一谈。
解决方案
推荐阅读
- reactjs - 测试布尔值等于字符串
- c# - 在 MVC 核心视图中显示计算
- react-native - 使用 react native /react-native-payments-alive 库做苹果支付时出错
- javascript - angularjs:如何根据数据数组值更改行颜色
- istio - Istio 网关是否支持从请求标头或其他请求信息动态指定 jwt_uri 领域?
- python - 基于列中连续计数的标志创建
- flutter - 如何在颤动中对齐堆栈内的元素?
- java - Javadoc - 从文档中的另一个点引用参数,例如 @link
- javascript - Vue选择点击选择器事件
- postgresql - Postgres 选择 2019 年的所有星期日