как вызвать функцию внутри вложенной функции с помощью перехватчиков React - PullRequest
0 голосов
/ 11 апреля 2020

Мне нужно перезвонить. а. Функция после установки состояния во вложенной функции, которая срабатывает при нажатии. Как я могу подойти к этому, я знаю, что вызов хуков во вложенных функциях не работает, но это необходимо в моем случае. Я попытался использовать useEffect и useCallback, но, как и ожидалось, это не сработает. Код выглядит следующим образом:

const App = () => {
  const [elements, setElements] = useState(true);

  function UseEffectSkipFirst(fn, arr) {
    const isFirst = useRef(true);

    useCallback(() => {
      if (isFirst.current) {
        isFirst.current = false;
        return;
      }

      fn();
    }, arr);
  }

  const Shape = (g) => {
    // let colorMatrix = new PIXI.filters.ColorMatrixFilter();
    // let color = 0xffffff
    // let tint = 0xffffff;

    function onClick(event) {
      setElements(false);
      UseEffectSkipFirst(
        () => {
          if (elements === true) {
            this.data = event.data;

            this.dragging = true;
            this.offX = this.x - this.data.getLocalPosition(this.parent).x;
            this.offY = this.y - this.data.getLocalPosition(this.parent).y;
          } else {
            g.clear();
          }
        },
        [elements]
      );
    }
    // ...
  };
  return (
    //...
  );
};

Может кто-нибудь помочь, пожалуйста, спасибо

...