Как мне разрешить конфликт между одинаковыми именами и импортом модулей? - PullRequest
0 голосов
/ 19 декабря 2018

Я использую , реагирую с реаги-редукс и eslint .В моем контейнере я импортирую действие, которое будет привязано к реквизиту компонента в mapDispatchToProps следующим образом:

// simplified for brevity
import { getGames } from '../actions/game';

const mapDispatchToProps = dispatch => ({
  getGames: () => dispatch(getGames())
});

class App extend React.Component {
  // class members
}

export default App connect(mapDispatchToProps)(App);

Я вызываю getGames в componentDidMount:

  componentDidMount () {
    const { getGames } = this.props;
    getGames().then(json => console.log(json));
  }

Эслинт настаивает на том, чтобы я использовалдеструктуризация объекта для извлечения значений из this.props в componentDidMount, что нормально.

Проблема в том, что eslint также жалуется, что getGames уже объявлен во внешней области видимости (оператор import), когда я использую деструктуризацию объекта.

Я хотел бы добавить eslint в обоих случаях, но не могу придумать, как бы я использовал уничтожение объектов при импорте и деструктора this.props, не вызывая именованияконфликт.

Любые идеи очень ценятся!

1 Ответ

0 голосов
/ 19 декабря 2018
// simplified for brevity
import { getGames } from '../actions/game';

вы можете использовать для него псевдоним.

import { getGames as getGames1 } from '../actions/game';

и использовать вместо него псевдоним.

...