#reactjs #cytoscape.js
#reactjs #cytoscape.js
Вопрос:
Привет, я использую react cytoscape с макетом COSBilkent, я также импортировал cytoscape-expand-collapse. Когда я нажимаю на значок для сворачивания, я получаю ошибку: Uncaught TypeError: cy.undoRedo не является функцией. Кто-нибудь знает, почему, ниже мой код:
import COSEBilkent from 'cytoscape-cose-bilkent';
import React, { useRef, useEffect, useState } from 'react';
import CytoscapeComponent from 'react-cytoscapejs';
import expandCollapse from 'cytoscape-expand-collapse';
import elements from './data';
expandCollapse(Cytoscape);
Cytoscape.use(COSEBilkent);
const Test = ({}) => {
const [cy, setCy] = useState(null);
useEffect(() => {
if (cy) {
cy.expandCollapse();
}
});
const layout = { name: 'cose-bilkent' };
return (
<CytoscapeComponent
cy={cy => {
setCy(cy);
}}
layout={layout}
elements={elements}
style={{ width: '600px', height: '600px' }}
/>
);
};
export default Test;
Комментарии:
1. Вы пытались импортировать отмену / повтор? Расширение expand-collapse иногда использует функцию отмены / повтора, даже в одном из (ванильных cytoscape.js ) [примеры] ( github.com/iVis-at-Bilkent/cytoscape.js-expand-collapse/blob /… ). Я бы посоветовал вам изменить порядок импорта, чтобы свести к минимуму возможные ошибки.
2. Хорошо, я проверил, оказалось, что существует 2 версии отмены-повтора; / Не могли бы вы, пожалуйста, сказать мне, что вы имеете в виду, говоря «Я бы посоветовал вам изменить порядок импорта, чтобы минимизировать возможные ошибки».??
3. Предоставленная мной ссылка показывает demo.html для расширения expand-collapse. Вы можете импортировать свои зависимости (cytoscape-react, cose-bilkent, expand-collapse и так далее) в порядке demo.html импортирует их в head. Сначала cytoscape, затем cose-bilkent, затем отменить-повторить и, наконец, развернуть-свернуть