Экспорт нескольких действий в файл action.js Redux

У меня есть два таких действия в файле action.js.

const addpostid = (post) => {
    return {
        type: 'ADD_COMMENT',
        post
    }
}

const addcommentform = (login_status, author_name, author_email, content, parent) => {
    return {
        type: 'ADD_COMMENT',
        login_status, author_name, author_email, content, parent
    }
}

Как я могу экспортировать эти действия?

Я использую export default, но он только для одного действия.

Вот моя депеша:

function mapDispatchToProps(dispatch){
    return { 
      commentformadded: (login_status, author_name, author_email, content, parent) => dispatch(addcommentform(login_status, author_name, author_email, content, parent)) 
    };
  };
export const addpostid?
Just code 03.12.2018 07:03

@Justcode Возвращает ошибку объекта, когда я звоню из диспетчера

Hai Tien 03.12.2018 07:03

Вам нужно объяснить весь процесс отправки, тогда я могу вам помочь.

Just code 03.12.2018 07:04

@Justcode, можете ли вы проверить мой обновленный код отправки? Спасибо

Hai Tien 03.12.2018 07:06

Вы можете использовать export const, затем импортировать весь файл действия как некоторую временную переменную и получить к нему доступ с помощью temp.yourfunction

Just code 03.12.2018 07:07

@Justcode: Вы можете написать, чтобы ответить? Я все еще в замешательстве. Спасибо огромное.

Hai Tien 03.12.2018 07:08
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
2 958
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

const addpostid = (post) => {
    return {
        type: 'ADD_COMMENT',
        post
    }
}

const addcommentform = (login_status, author_name, author_email, content, parent) => {
    return {
        type: 'ADD_COMMENT',
        login_status, author_name, author_email, content, parent
    }
}

export { addpostid, addcommentform };

и в файлы импортируйте их как

import { addpostid, addcommentform } from 'path/to/actions';

или просто импортируйте весь экспорт из подобных

import * as actions from 'path/to/actions';

и используйте их как actions.addpostid, actions.addcommentform

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

Измените свои действия вот так

export const addpostid = (post) => {
    return {
        type: 'ADD_COMMENT',
        post
    }
}

export const addcommentform = (login_status, author_name, author_email, content, parent) => {
    return {
        type: 'ADD_COMMENT',
        login_status, author_name, author_email, content, parent
    }
}

Предполагая, что имя вашего файла - testActions.js

В свой компонент вы можете импортировать его вот так

import * as testActions 'path to your action/testActions';

Используйте свои функции вот так

testActions.addpostid

или

testActions.addcommentform 

или

import { addpostid, addcommentform } from 'path to your action/testActions';

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