Как часть моего приложения, у меня есть тег, как показано ниже. Я хочу знать, как мне преобразовать его в реакцию?
Могу я разделить это файл javascript и загрузить его в этот файл? если ответ "да", вы можете показать мне, как?
class App extends Component {
render() {
return (
<div className = "App">
<section class = "abcContainer">
<div class = "card border-primary mb-3" style = "max-width: 20rem;">
<div class = "card-header">Toolbox</div>
<div class = "card-body">
<div class = "col col-6">
<ul class = "ml4 js-sortable-copy sortable list flex flex-column list-reset" aria-dropeffect = "move">
<li class = "p1 mb1 yellow bg-maroon" style = "position: relative; z-index: 10" draggable = "true" role = "option" aria-grabbed = "false">Item 1</li>
<li class = "p1 mb1 yellow bg-maroon" style = "position: relative; z-index: 10" draggable = "true" role = "option" aria-grabbed = "false">Item 2</li>
</ul>
</div>
</div>
</div>
<div class = "jumbotron">
<div class = "col col-6">
<h2 class = "h4 mt1">Copy items here</h2>
<ul class = "p2 border maroon border-maroon js-sortable-copy-target sortable list flex flex-column list-reset" aria-dropeffect = "move"></ul>
</div>
</div>
</section>
<script>
sortable('.js-sortable-copy', {
forcePlaceholderSize: true,
copy: true,
acceptFrom: false,
placeholderClass: 'mb1 bg-navy border border-yellow',
});
sortable('.js-sortable-copy-target', {
forcePlaceholderSize: true,
acceptFrom: '.js-sortable-copy,.js-sortable-copy-target',
placeholderClass: 'mb1 border border-maroon',
});
sortable('.js-grid', {
forcePlaceholderSize: true,
placeholderClass: 'col col-4 border border-maroon'
});
</script>
</div>
);
}
}
export default App;



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете вызвать их в ловушке componentDidMount:
mySortable() {
// sortable() scripts
}
componentDidMount() {
window.addEventListener('onload', this.mySortable)
}
А затем не забудьте удалить слушателя в ловушке componentWillUnmount:
componentWillUnmount() {
window.removeEventListener('onload', this.mySortable)
}
в mysortable следует писать скрипт с тегом <script> или без него. ты можешь отредактировать свой ответ?
Я хотел бы проверить, есть ли пакет npm для библиотеки, которую вы используете в этом сценарии, а затем импортировать его для этого компонента. Например, если это sortable.js, тогда https://www.npmjs.com/package/sortablejs. Это делает вещи более модульными.
В противном случае я бы создал отдельный файл с функциями, импортировал бы их и прикрепил к тем элементам, которые должны их использовать, запустив данные / элементы через функцию в методе жизненного цикла (componentDidMount или render [в зависимости]) или используя такие атрибуты, как onHover , onClick и т. д.
Если они являются функциями для всего веб-приложения, скопируйте тег скрипта в свой файл index.html.
Я это уже сделал. этот сценарий требуется внутри html файла.
следует ли писать его в App.js после того, как класс App расширяет компонент?