【问题标题】:Attempted import error: does not contain a default export尝试导入错误:不包含默认导出
【发布时间】:2019-05-03 18:11:02
【问题描述】:

我正在定义 react 组件以与 redux 连接。我有应用程序和列表组件

App.js

import React, { Component } from 'react';
  //import Login from './components/Login';
 import List from './components/List';
 import './App.css';
  class App extends Component {
 render() {
  return (  <List />); } }
  export default App;

List.js

  import React from 'react';
  import { connect } from 'react-redux';

  const mapStateToProps=  state =>{
     return { articles :state.articles};
      }
   const connectedList = ({ articles }) =>(
        {articles.map(e=>(      //////**1) here I get red under the dot(.) ie., error**
           <li key={e.id}>{e.title}</li>
         ))}
     );
   const List= connect(mapStateToProps)(connectedList);
   export default List;

为什么1)在这里我在点(。)下变红,即错误

我已导出列表,但出现此错误

尝试导入错误:“./components/List”不包含默认导出(导入为“列表”)。

实际上我是 redux 的新手,所以请解释一下,让我知道我哪里出错了?

【问题讨论】:

    标签: reactjs redux react-redux


    【解决方案1】:

    去掉花括号:

    const connectedList = ({ articles }) =>(
       articles.map(e=>( // implicit return
          <li key={e.id}>{e.title}</li>
       )
    ));
    

    或者,使用花括号:

    const connectedList = ({ articles }) => { // no parentheses
       return articles.map(e=>( // explicitly use return
          <li key={e.id}>{e.title}</li>
       )
    });
    

    在括号中使用大括号表示您正在返回一个对象。但是articles.map... 显然不是一个对象,而是循环一个对象。

    【讨论】:

    • 什么是隐式和显式返回请解释一下?
    • @Tested 你的函数应该是 const connectedList = ({ article }) =>{ 但不是 const connectedList = ({ article }) =>( 希望你会发现你做的错误
    • @Tested 请参阅my another post 以获得更多帮助。
    猜你喜欢
    • 2020-09-21
    • 2021-10-26
    • 2020-05-18
    • 2021-07-02
    • 1970-01-01
    • 2022-01-13
    • 2022-01-18
    • 2019-05-27
    • 2019-11-08
    相关资源
    最近更新 更多