Javascript 如何更换';这是';在函数中,是否使用钩子进行本地反应?

Javascript 如何更换';这是';在函数中,是否使用钩子进行本地反应?,javascript,react-native,react-hooks,echarts,Javascript,React Native,React Hooks,Echarts,我试图使用以下内容,但在我的项目中,我的所有组件都是使用挂钩制作的。因此,当我有一个状态变量改变它的状态时,我想执行函数setOption(option),其中选项包含状态值 问题在于,在文档中,函数setOption()是使用this.chart.setOption(option)引用的。如果我尝试在没有的情况下放置此项。我会收到一条消息,其中图表未定义,如果我只使用函数,我会收到消息说设置选项不是函数 那么,有没有一种方法可以使用RN钩子获取图表组件及其函数的引用 这是我的密码: const

我试图使用以下内容,但在我的项目中,我的所有组件都是使用挂钩制作的。因此,当我有一个状态变量改变它的状态时,我想执行函数
setOption(option)
,其中选项包含状态值

问题在于,在文档中,函数
setOption()
是使用
this.chart.setOption(option)
引用的。如果我尝试在没有
的情况下放置此项。
我会收到一条消息,其中
图表
未定义,如果我只使用函数,我会收到消息说
设置选项不是函数

那么,有没有一种方法可以使用RN钩子获取图表组件及其函数的引用

这是我的密码:

const [radarChartData, setRadarChartData] = React.useState([])
const option = { 
title: {
    show:false,
    text: 'Gráfico Radar'
},
tooltip: {},
legend: {
orient: 'horizontal',
position:'bottom',
left: 0,
bottom:0,
type:'scroll',             
pageButtonPosition:'end', 
data: chartColumnNameArray,
},
radar: {
    radius:'70%',
    name: {
        textStyle: {
            color: '#fff',
            backgroundColor: '#999',
            borderRadius: 3,
            padding: [3, 5]
        }
    },
    indicator: chartValueArray.map((item, index)=>{
    return {name:chartColumnNameArray[index].toUpperCase().substring(0,5).concat('.'), max:maxValue}
    })
},
series: [{
    name: 'TEST',
    type: 'radar',          
    data: radarChartData <------------------- //when this state changes I would setOptions and reload chart
}]
};

<View style={{display:  visibleChart==="radarchart"?"flex":"none", width:'100%', height:'60%'}} >                     
         <ECharts option={option} additionalCode={React.useEffect(()=>{this.chart.setOption(option)},[radarChartData])}/>                                                              
</View>
const[radarChartData,setRadarChartData]=React.useState([]
常量选项={
标题:{
秀:假,,
文字:“格拉菲科雷达”
},
工具提示:{},
图例:{
方向:'水平',
位置:'底部',
左:0,,
底部:0,
类型:'scroll',
PageButton位置:'end',
数据:chartColumnNameArray,
},
雷达:{
半径:'70%',
姓名:{
文本样式:{
颜色:“#fff”,
背景颜色:“#999”,
边界半径:3,
填充:[3,5]
}
},
指标:chartValueArray.map((项目,索引)=>{
返回{name:chartColumnNameArray[index].toUpperCase().substring(0,5).concat('.'),max:maxValue}
})
},
系列:[{
名称:'测试',
类型:“雷达”,
数据:radarChartData

您必须使用“useRef”钩子来访问图表,即使在提供的示例中,他们使用图表的引用并更新图表。 我已经做了一个基本的例子来改变背景颜色,这将让你了解如何在图表中使用钩子。只需设置ref并使用chart.current而不是this.chart

import React, { Component } from 'react';
import { StyleSheet, View, Button } from 'react-native';
import { ECharts } from 'react-native-echarts-wrapper';

export default function App() {
  const chart = React.useRef(null);
  const option = {
    xAxis: {
      type: 'category',
      data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
    },
    yAxis: {
      type: 'value',
    },
    series: [
      {
        data: [820, 932, 901, 934, 1290, 1330, 1320],
        type: 'line',
      },
    ],
  };

  return (
    <View style={styles.chartContainer}>
      <Button
        title="Update"
        onPress={() => {
          if (chart) {
            chart.current.setBackgroundColor('rgba(0,255,0,0.3)');
          }
        }}
      />
      <ECharts
        ref={chart}
        option={option}
        backgroundColor="rgba(93, 169, 81, 0.4)"
      />
    </View>
  );
}

const styles = StyleSheet.create({
  chartContainer: {
    flex: 1,
  },
});
import React,{Component}来自'React';
从“react native”导入{样式表、视图、按钮};
从'react native ECharts wrapper'导入{ECharts};
导出默认函数App(){
const chart=React.useRef(null);
常量选项={
xAxis:{
类型:'类别',
数据:[周一、周二、周三、周四、周五、周六、周日],
},
亚克斯:{
类型:“值”,
},
系列:[
{
数据:[8209329011934013301320],
键入:“行”,
},
],
};
返回(
{
如果(图表){
图表当前背景色(“rgba(0255,0,0.3)”;
}
}}
/>
);
}
const styles=StyleSheet.create({
图表容器:{
弹性:1,
},
});

您好,您能看一下这个问题吗?您好@kd12345您必须检查我已经实现了类似的功能,当用户已经拥有帐户而不是导航到欢迎屏幕时,用户会导航到密码屏幕。我的问题是,例如,在应用程序的配置文件屏幕上显示im,然后导航到whatsapp,然后是back到应用程序,当我在主屏幕而不是配置文件屏幕上返回到中的应用程序时。您可能有一个异步存储以具有登录状态,但导航状态不同,您可能需要检查我提供给您的链接。您将深入了解并更新您