Javascript React Native:功能组件中的getter函数?
我不熟悉React/React Native,在将函数值返回到模板时遇到问题。我的组件是一个功能组件,它接收一个名为Javascript React Native:功能组件中的getter函数?,javascript,reactjs,native,Javascript,Reactjs,Native,我不熟悉React/React Native,在将函数值返回到模板时遇到问题。我的组件是一个功能组件,它接收一个名为item的道具。我在一个简单的计算之后从该项中检索到一个值,但是我尝试在模板中返回该值的每种方法都会得到不同的错误 我最后一次尝试是: getMaxPercent() { let max = _.maxBy(props.item.discounts, function(discount) { return discount.sale; }); return m
item
的道具。我在一个简单的计算之后从该项中检索到一个值,但是我尝试在模板中返回该值的每种方法都会得到不同的错误
我最后一次尝试是:
getMaxPercent()
{
let max = _.maxBy(props.item.discounts, function(discount) {
return discount.sale;
});
return max;
}
在这样的模板中:
<Text style={{ fontSize:17, color:'white', fontWeight:'bold' }}>
{ getMaxPercent() }% Off
</Text>
来自vue背景的react看起来很。。。冗长的。是否存在与计算属性等效的react?试试这个
function getMaxPercent()
{
let max = _.maxBy(props.item.discounts, function(discount) {
return discount.sale;
});
return max.sale;
}
参考-
是否存在与计算属性等效的react
与计算属性等价的React只是标准变量,在组件函数体中声明。每次更改道具时,该函数都会运行,因此将重新计算道具
您根本不需要额外的函数-您可以直接将max
赋值给变量
const Component = (props) => {
const max = _.maxBy(props.item.discounts, function(discount) {
return discount.sale;
});
return (
<Text style={{ fontSize:17, color:'white', fontWeight:'bold' }}>
{ max }% Off
</Text>
);
};
const组件=(道具)=>{
const max=u.maxBy(props.item.discounters,函数(discount)){
退货折扣。销售;
});
返回(
{max}折扣%
);
};
如果您不想依赖lodash,您可以使用自己的简单max finder返回maximumsale
属性
const getMaxPercent = (discounts) =>
Math.max(...discounts.map(({ sale }) => sale));
const getMaxPercent=(折扣)=>
max(…折扣.map({sale}=>sale));
常量折扣=[
{
id:0,
销售额:3.5
},
{
id:1,
销售额:13.5
},
{
id:2,
出售:13
},
{
id:3,
销售额:10
},
{
id:4,
销售额:7.8
}
];
log(getMaxPercent(折扣))代码>您得到了哪些具体错误?您还可以发布更多的代码以了解其结构。请包括一个示例,以便我们有更多的上下文,并包括错误消息和堆栈跟踪、实际和预期结果、任何调试/复制步骤。请包括更多详细信息。
const getMaxPercent = (discounts) =>
Math.max(...discounts.map(({ sale }) => sale));