javascript - 如何在React应用程序中调用导入的辅助函数?

标签 javascript reactjs

我有一个 CRA 应用程序,由于某种原因尝试排序,它不会调用名为 sortModel 的辅助函数:

let rankingCommercial = 
      {
        'Actual':1,
        'Projected':2,
        'Proforma':3
      }



    let rankingAgribusiness = 
    {
      'Historical':1,
      'Actual':2,
      'Projected':3,
      'Proforma':4
    }

export default function sortModel(item1,item2)
{
    console.log('start sort function')
    if (item1.model ==='Commercial'  && item2.model ==='Commercial') {


        if (rankingCommercial[item1.type]> rankingCommercial[item2.type])
        {
            return 1;
        }
        else{
            return -1;
        }
    }

    if (item1.model ==='Agribusiness' && item2.model ==='Agribusiness' ){
        if (rankingAgribusiness[item1.rank]> rankingAgribusiness[item2.rank])
        {
            return 1;
        }
        else{
            return -1;
        }
    }



}

app.js 看起来像这样:

import help from './sortHelper.js'

...

let result = myData.sort(help.sortModel)

好像没有调用排序?我做错了什么?

最佳答案

在您正在调用的 app.js 中

let result = myData.sort(help.sortModel)

并从 './sortHelper.js' 导入 help,但是,在排序模型脚本中,您将导出 sortModel 作为默认值,因此当您导入 helphelp 成为 sortModel 函数的别名,即 sortModel 不是 help 的嵌套属性,而是 help 本身。

如果要在 sortModel 脚本中将 sortModel 作为嵌套属性进行访问,而不是:

export default function sortModel(item1,item2)
  {
     // your sort function code here 
  }

你会得到类似的东西:

export default helpFunctions = {
  sortModel: (item1, item1) {
    // your sort function code here
  }
}

然后在您的 app.js 中导入为 import help from './sortHelper.js' 时,您将能够通过 help.sortModel 访问它

关于javascript - 如何在React应用程序中调用导入的辅助函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55233262/

相关文章:

javascript - 更改 DIV 大小与更改其 BIG 大小(性能)

javascript - JSON.Stringify 为 ID 添加引号

reactjs - Material UI 数据网格性能

reactjs - 如何在单击按钮时更改字体大小?

javascript - 在 React useState Hook 中删除数组的第一个元素?

javascript - 防止事件连续执行React

javascript - 通过另一个对象数组引用对对象数组进行排序

ios - React Native Undefined 不是对象(评估 'this.camera.capture' )

reactjs - 如何在React中添加支持数学方程的Markdown编辑器?

javascript - 禁用浏览器窗口调整大小