Javascript 如何转换<;脚本>;加入反应?

Javascript 如何转换<;脚本>;加入反应?,javascript,reactjs,Javascript,Reactjs,作为我的应用程序的一部分,我有一个标签,如下所示。我想知道如何在react中转换它吗 我可以将它分离为一个javascript文件并加载到这个文件中吗?如果答案是肯定的,你能告诉我怎么做吗 class App extends Component { render() { return ( <div className="App"> <section class="abcContainer"> <div class="car

作为我的应用程序的一部分,我有一个标签,如下所示。我想知道如何在react中转换它吗

我可以将它分离为一个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;
类应用程序扩展组件{
render(){
返回(
工具箱
    第1项 第2项
在此处复制项目
    可排序(“.js可排序副本”{ 大小:true, 抄袭:对, 接受人:错, 占位符类:“mb1 bg海军边界黄色”, }); 可排序('.js可排序复制目标'{ 大小:true, acceptFrom:'.js可排序副本,.js可排序副本目标', 占位符类:“mb1 border褐红色”, }); 可排序(“.js grid”{ 大小:true, 占位符类别:“col col-4 border border褐红色” }); ); } } 导出默认应用程序;
    您可以在
    componentDidMount
    hook中调用它们:

    mySortable() {
      // sortable() scripts
    }
    
    componentDidMount() {
      window.addEventListener('onload', this.mySortable)
    }
    
    componentWillUnmount() {
      window.removeEventListener('onload', this.mySortable)
    }
    
    然后确保在
    componentWillUnmount
    hook中删除侦听器:

    mySortable() {
      // sortable() scripts
    }
    
    componentDidMount() {
      window.addEventListener('onload', this.mySortable)
    }
    
    componentWillUnmount() {
      window.removeEventListener('onload', this.mySortable)
    }
    

    您可以在
    componentDidMount
    hook中调用它们:

    mySortable() {
      // sortable() scripts
    }
    
    componentDidMount() {
      window.addEventListener('onload', this.mySortable)
    }
    
    componentWillUnmount() {
      window.removeEventListener('onload', this.mySortable)
    }
    
    然后确保在
    componentWillUnmount
    hook中删除侦听器:

    mySortable() {
      // sortable() scripts
    }
    
    componentDidMount() {
      window.addEventListener('onload', this.mySortable)
    }
    
    componentWillUnmount() {
      window.removeEventListener('onload', this.mySortable)
    }
    

    我会检查您在该脚本中使用的库是否有npm包,然后为该组件导入它。例如,如果这是sortable.js,那么。这使得事情更加模块化

    否则,我将使用函数创建一个单独的文件,导入它们,并通过在生命周期方法(componentDidMount或render[取决])内通过函数运行数据/元素,或使用onHover、onClick等属性,将它们附加到需要使用它们的元素


    如果它们是整个web应用程序的函数,请将脚本标记复制到index.html文件中。

    我会检查脚本中使用的库是否有npm包,然后为该组件导入它。例如,如果这是sortable.js,那么。这使得事情更加模块化

    否则,我将使用函数创建一个单独的文件,导入它们,并通过在生命周期方法(componentDidMount或render[取决])内通过函数运行数据/元素,或使用onHover、onClick等属性,将它们附加到需要使用它们的元素


    如果它们是整个web应用程序的函数,请将脚本标记复制到index.html文件中。

    在类App extends组件之后,我是否应该在App.js中编写脚本?在mysortable中,我是否应该编写带有标记的脚本。你能编辑你的答案吗?我应该在类App扩展组件后在App.js中写吗?我应该在mysortable中写带标记还是不带标记的脚本。你能编辑你的答案吗?我已经做了。这个脚本在html文件中是必需的。我已经这样做了。此脚本在html文件中是必需的。