Reactjs Импорт из того же каталога

Я создаю приложение TODO с Reactjs, в моей папке components у меня есть класс TaskList с этим кодом для итерации по задачам:

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

class TaskList extends Component {
    render(){
        return(
            <table>
                <thead>
                    <tr>
                        <th>Tasks</th>
                        <th>Actions</th>
                    </tr>
                </thead>
                <tbody>
                    {this.props.tasks.map((task,index) => <Task key = {index} task = {task} />)}
                </tbody>
            </table>
        );
    }
}

function MapStateToProps(state){
    return{
        tasks:state.tasks
    }
}

export default connect (MapStateToProps)(TaskList);

Также в папке компонентов у меня есть класс Task, который используется в моем классе TaskList:

Задача:

import React, {Component} from 'react';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import {DeleteTask} from '../../redux/actions';

class Task extends Component {
    render(){
        return(
            <tr>
                <td>
                    {this.props.task}
                </td>
                <td>
                    <button onClick = {() => this.props.DeleteTask(this.props.id)}>Delete</button>
                </td>
            </tr>

        );
    }
}

function MapDispatchToProps(dispatch){
    return bindActionCreators({DeleteTask},dispatch);
}

export default connect (() => {return {};},MapDispatchToProps)(Task);

Моя проблема здесь в том, что у меня возникает ошибка. Задача не определена, потому что я не импортирую задачу в список задач. В TaskList я уже пробовал:

import Task from './components/task';
import Task from 'task'; //as it's on the same directory
import Task from './task';

И ничего не работает. Есть идеи по этому поводу?

Я решил ошибку Сам, импорт должен быть Импортировать задачу из "../task"

pedrodotnet 02.05.2018 16:22

Положите решение на ответ и примите его, пожалуйста. Для дальнейшего использования импорт записывается как import Thing from "module/path", где Thing должен соответствовать оператору export default Thing в модуле.

SrThompson 02.05.2018 17:01

У меня также он работал с import { Task} from '.';.

A N 12.10.2018 17:11
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
8
3
12 508
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Сам решил ошибку, импорт должен быть

 Import Task from '../task' 

Я знаю, что OP решен для OP, но у меня это не сработало. Вот что мне пришлось сделать:

import Task from '../components/task'

После небольшого исследования я обнаружил, что дерево проекта начинается с корня проекта, поэтому имена относительных путей необходимо отследить от текущего местоположения файла, а затем пройти вверх (../) и вниз по дереву (subdirName/) до импортированного файла, если вы хотите указать относительный путь. Также можно указать абсолютный путь, например:

import Task from 'C:/Users/devusr1/source/repos/React/hello-world/src/components/task.js'

У меня работали как относительные, так и абсолютные пути (я использую nodejs.)

Что не вышло:

.

./

../components

./src/components/task

Другие вопросы по теме