Загрузка данных


useEffect(() => {
  if (!symbol) {
    return;
  }

  const nextSymbolName =
    symbolName || symbol;

  const nextSymbolTicker =
    symbolTicker || symbol;

  const symbolChanged =
    currentSymbolRef.current !== symbol;

  const symbolNameChanged =
    currentSymbolNameRef.current !==
    nextSymbolName;

  const symbolTickerChanged =
    currentSymbolTickerRef.current !==
    nextSymbolTicker;

  if (
    !symbolChanged &&
    !symbolNameChanged &&
    !symbolTickerChanged
  ) {
    return;
  }

  currentSymbolRef.current = symbol;
  currentSymbolNameRef.current =
    nextSymbolName;
  currentSymbolTickerRef.current =
    nextSymbolTicker;

  chartRef.current?.setSymbol(
    symbol,
    nextSymbolName,
    nextSymbolTicker,
  );
}, [symbol, symbolName, symbolTicker]);