Как преобразовать тег <script> в реакцию?

Как часть моего приложения, у меня есть тег, как показано ниже. Я хочу знать, как мне преобразовать его в реакцию?

Могу я разделить это файл 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;
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
909
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете вызвать их в ловушке componentDidMount:

mySortable() {
  // sortable() scripts
}

componentDidMount() {
  window.addEventListener('onload', this.mySortable)
}

А затем не забудьте удалить слушателя в ловушке componentWillUnmount:

componentWillUnmount() {
  window.removeEventListener('onload', this.mySortable)
}

следует ли писать его в App.js после того, как класс App расширяет компонент?

Amir 05.10.2018 20:32

в mysortable следует писать скрипт с тегом <script> или без него. ты можешь отредактировать свой ответ?

Amir 05.10.2018 20:38

Я хотел бы проверить, есть ли пакет npm для библиотеки, которую вы используете в этом сценарии, а затем импортировать его для этого компонента. Например, если это sortable.js, тогда https://www.npmjs.com/package/sortablejs. Это делает вещи более модульными.

В противном случае я бы создал отдельный файл с функциями, импортировал бы их и прикрепил к тем элементам, которые должны их использовать, запустив данные / элементы через функцию в методе жизненного цикла (componentDidMount или render [в зависимости]) или используя такие атрибуты, как onHover , onClick и т. д.

Если они являются функциями для всего веб-приложения, скопируйте тег скрипта в свой файл index.html.

Я это уже сделал. этот сценарий требуется внутри html файла.

Amir 05.10.2018 20:39

Другие вопросы по теме