传递函数的参数



在我的应用程序中,我想有条件地渲染一些东西,所以我做了一个函数getItem,我想在我的自定义工具提示const CustomTooltip中调用。

在下面的代码中,我想将const CustomTooltip = ({ active, payload, label}中的payload传递给function getState({payload}

我尝试通过{getState(payload, "A")}做到这一点,然而,当我这样做时,我得到这个错误:

类型"Payload<ValueType,>[]"与类型"TooltipProps<ValueType,>"没有共同的属性

注意:我是新的React

const numberStates = 3;
function getState({payload}: TooltipProps<ValueType, NameType>, state: string ){
if(payload){
for(let i = 0; i < numberStates; i++){
if(payload[i].dataKey == state){
return <p>{ payload[i] } : { payload[i].value }</p>
}
}
}
return null;
}
const CustomTooltip = ({ active, payload, label}: TooltipProps<ValueType, NameType>) => {
if(active && payload && payload.length){
return (
<div className = "custom-tooltip">
{getState(payload, "A")}
{getState(payload, "B")}
{getState(payload, "C")}
</div>
);
}
return null;
}

您正在传递有效载荷其类型为:Payload<ValueType,>[]但是在getState中您期望的函数TooltipProps<ValueType,>

将代码改为:

function getState(payload: Payload<ValueType, NameType>[], state: string) {
if (payload) {
for (let i = 0; i < numberStates; i++) {
if (payload[i].dataKey === state) {
return (
<p>
{payload[i]} : {payload[i].value}
</p>
);
}
}
}
return null;
}

相关内容

  • 没有找到相关文章

最新更新