相关疑难解决方法(0)

Javascript(ES6),导出const vs export默认值

我试图确定这两个之间是否存在任何重大差异,除了能够通过以下方式导入export default:

import myItem from 'myItem';
Run Code Online (Sandbox Code Playgroud)

使用export const我可以做:

import { myItem } from 'myItem';
Run Code Online (Sandbox Code Playgroud)

我想知道除此之外是否存在任何差异和/或用例.

javascript ecmascript-6 es6-modules

175
推荐指数
6
解决办法
8万
查看次数

"导出默认值"在JSX中有什么作用?

我想问最后一句话是什么意思和做什么(导出默认的HelloWorld;)但我找不到任何关于它的教程.

// hello-world.jsx

import React from 'react';

class HelloWorld extends React.Component {
  render() {
    return <p>Hello, world!</p>;
  }
}

export default HelloWorld;
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

110
推荐指数
5
解决办法
7万
查看次数

JavaScript - 未找到导出默认值

我有一个Vue 2项目,我编写了一个简单的函数来翻译几个月的日期,我想在我的一个组件中导入,但是我收到一个错误:

在'@/utils/date-translation'中找不到导出'default'(导入为'translateDate')

来自src文件夹的相对文件路径是正确的,我正在导出这样的函数:

export function translateDate(date) {
  // my code
}
Run Code Online (Sandbox Code Playgroud)

然后我在组件中导入它,如下所示:

import translateDate from '@/utils/date-translation'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

javascript import module ecmascript-6 vue.js

33
推荐指数
3
解决办法
4万
查看次数

是否可以使用 Typescript 导入别名

今天我使用导入别名来更改 React 中导入的名称:

import { Something as SomethingElse } from 'somewhere';
Run Code Online (Sandbox Code Playgroud)

然而,在将此文件切换到 TypeScript 后,同样的事情似乎不可能实现。只有删除别名后我才能使用导入:

import Something from 'somewhere';
Run Code Online (Sandbox Code Playgroud)

是否可以在 TypeScript 中使用导入别名?

typescript reactjs

10
推荐指数
1
解决办法
2万
查看次数

为什么以及何时在es6模块中使用默认导出而不是命名导出?

我已经在stackoverflow中提到了所有问题.但没有提出为什么以及何时使用默认导出.

我刚看到默认值可以提到"当文件中只有一个导出时"

在es6模块中使用默认导出的任何其他原因?

javascript es6-modules

8
推荐指数
6
解决办法
8273
查看次数

类型错误 - 不是构造函数

想在ES6 javascript中实例化一个模块并转换为ES5.我在我的项目中设置了一个新类,即es6/webpack.我有2个文件:track.js,其中包含以下内容 -

export default class Track {
  constructor() {
    this.o = {};
  }
}
Run Code Online (Sandbox Code Playgroud)

另一个是index.js -

import { Track } from './track';

const track = new Track();
console.log(track);
Run Code Online (Sandbox Code Playgroud)

我试图让控制台日志显示一个空对象.相反,我得到 - Uncaught TypeError:_track.Track不是构造函数

javascript transpiler ecmascript-6 webpack

6
推荐指数
2
解决办法
6681
查看次数

什么时候应该在JavaScript/TypeScript中使用`export default`?

如果我们指定默认导出:

export class Foo {}
export default Foo;
Run Code Online (Sandbox Code Playgroud)

然后我们可以在导入期间省略花括号(如本答案中所述):

import { Foo } from "foo"; // becomes:
import Foo from "foo";
Run Code Online (Sandbox Code Playgroud)

那很好,但是在特殊情况下是否有任何非风格的理由偏爱另一个?例如,是否存在某些约定,或者某些约定与某些工具不兼容,或者是否具有不同的含义?

(基于这个讨论和其他人,我的理解是,export default可能已经出现了一种处理单个主要对象(如$)的导出的方法,现在由import * as foo from "foo"它处理.此外,似乎默认导入语法不强制执行naming(import fooAlias from "foo"),而标准导入import { fooAlias } from "foo"将是一个编译错误,除非别名是explicit(Foo as fooAlias).除此之外,我还没有找到关于何时应该使用其中一个的详细信息.)

javascript typescript ecmascript-6

5
推荐指数
1
解决办法
407
查看次数

React Native Element类型无效,预期字符串但未定义

我正在关注react-native的课程,我在尝试向页面添加模态组件时遇到了这个错误:

元素类型无效:期望一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:undefined.

这是我的代码:

EmployeeEdit.js

import _ from 'lodash';
import React, { Component } from 'react';
import { connect } from 'react-redux';
import Communications from 'react-native-communications';
import { employeeUpdate, employeeSave, employeeReset } from '../actions';
import { Card, CardSection, Button, Confirm } from './common';
import EmployeeForm from './EmployeeForm';


class EmployeeEdit extends Component {
  constructor(props) {
    super(props);
    this.state = { showModal : false};

    this.onButtonPress = this.onButtonPress.bind(this);
    this.onTextPress = this.onTextPress.bind(this);
  }

  componentWillMount() {
    _.each(this.props.employee, (value, prop) => {
      this.props.employeeUpdate({prop, value});
    });
  }

  componentWillUnmount() { …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native

5
推荐指数
3
解决办法
5995
查看次数

在 React 中使用 crypto-js

我使用生成了一个应用程序create-react-app,我想使用 crypto-js 我收到以下错误

crypto.sha256() is not a function

cryptojs reactjs create-react-app

5
推荐指数
1
解决办法
2万
查看次数

需要工作但导入不起作用

我有一个actions.js文件导出这样的动作

export var toggleTodo = (id) => {
  return {
    type: 'TOGGLE_TODO',
    id
  }
}
Run Code Online (Sandbox Code Playgroud)

但是当我使用es6导入它时,我得到错误

Uncaught TypeError: Cannot read property 'toggleTodo' of undefined
Run Code Online (Sandbox Code Playgroud)

但当我需要它使用常见的js要求它工作得很好!有人可以向我解释为什么会发生这种情况,我的意思是我读到这两个是相同的事情......似乎有些不同?

// var actions = require('actions') working 
// dispatch(actions.toggleTodo(id));

import actions from 'actions' //not working
dispatch(actions.toggleTodo(id));
Run Code Online (Sandbox Code Playgroud)

es6-module-loader es6-class es6-modules

4
推荐指数
1
解决办法
6129
查看次数

从Node.js中的模块导出函数的语法是什么?

从Node.js中的模块导出函数的语法是什么?

function foo() {}
function bar() {}

export foo; // I don't think this is valid?
export default bar;
Run Code Online (Sandbox Code Playgroud)

javascript node.js

4
推荐指数
1
解决办法
3745
查看次数

在 ES6 中导入常量的正确语法

给定以下模块,如何导入常量模块并避免包含默认属性:

// constants.es6
export default {
    foo: 'foo',
    bar: 'bar'
}

// anotherModule.es6
import * as constants from './constants';
Run Code Online (Sandbox Code Playgroud)

结果是 constants.default.foo

我似乎无法得到正确的语法来结束 constants.foo

javascript ecmascript-6

3
推荐指数
2
解决办法
5805
查看次数

ES6默认关键字背后的原因

我正在关注目前使用ES6的React教程.我是ES6的新手,我一直看到在从模块导出名称时经常使用默认关键字.我一直试图理解默认单词背后的原因是什么,但还没有找到我能理解的答案.

这是一个例子:

  const Header = () => {
  return (
    <nav>
      <IndexLink to="/" activeClassName="active">Home</IndexLink>
      {" | "}
      <Link to="/about" activeClassName="active">About</Link>
      {" | "}
      <Link to ="/course" activeClassName="active">Courses</Link>
    </nav>
  );
};

export default Header;
Run Code Online (Sandbox Code Playgroud)

提前谢谢,如果我不清楚,请告诉我.

javascript ecmascript-6 reactjs

0
推荐指数
1
解决办法
1484
查看次数