Ошибка в реакции при импорте функции - PullRequest
0 голосов
/ 07 ноября 2018

Я сталкиваюсь с ошибкой во время компиляции на этом

import createProfile from "../../actions/profileActions";

ошибка следующая Не удалось скомпилировать.

[1]
[1] ./src/components/create-profile/CreateProfile.js
[1] 424:57-70 "export 'default' (imported as 'createProfile') was not found in '../../actions/profileActions

но импортируемая функция доступна в файле profileActions.js

export const createProfile = (profileData, history) => dispatch => {
  axios
    .post("/api/profile", profileData)
    .then(res => history.push("/dashboard"))
    .catch(err =>
      dispatch({
        type: GET_ERRORS,
        payload: err.response.data
      })
    );
};

Ответы [ 3 ]

0 голосов
/ 07 ноября 2018

Да, ошибки, допущенные новичками в React.

Чтобы использовать функцию, определенную в другом файле, вы

1. Экспортировать функцию из файла, в котором она определена. 2. Импортируйте функцию в новый файл.

Это можно сделать двумя способами.

Синтаксис 1:

export function someFunction(){}
export const constant1="ABC"

Используйте приведенный выше синтаксис, когда нужно экспортировать несколько функций / констант.

В этом случае, если вы хотите импортировать, следуйте этому синтаксису.

import {function1,constant1,...} from <file-name>

Синтаксис 2:

Экспорт по умолчанию работает только один на файл.i.e, вы не можете экспортировать две функции / константы по умолчанию

export default function1=()=>{}//okay!!

export default function1=()=>{};
export default const someconstant;//ERROR !!

Теперь вы можете импортировать, как это.

import function1 from <file-name>
0 голосов
/ 07 ноября 2018

импортировать createProfile как import {createProfile} from "../../actions/profileActions"; в противном случае экспортировать его как

const createProfile = (profileData, history) => dispatch => {
  axios
    .post("/api/profile", profileData)
    .then(res => history.push("/dashboard"))
    .catch(err =>
      dispatch({
        type: GET_ERRORS,
        payload: err.response.data
      })
    );
};
export default createProfile;
0 голосов
/ 07 ноября 2018

Вам нужно либо импортировать createProfile один импорт

import {createProfile} from "../../actions/profileActions";

или экспортируйте его как экспорт по умолчанию

export default createProfile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...