Могу ли я передать создателей действий redux в объекте контекста? - PullRequest
0 голосов
/ 14 июля 2020

В настоящее время я создаю конструктор опросов. Я хочу начать проект с учетом возможности тестирования. Я стремлюсь к четкому разделению компонентов контейнера и представления. Одна из моих идей заключалась в том, чтобы передать множество создателей действий redux как часть объекта контекста вниз по дереву компонентов. Оказывается, это не так-то просто проверить. Кроме того, это может быть очень плохой дизайн, но я хотел бы внести свой вклад в это. Это явный антипаттерн?

import {
    getSurvey,
    addAnswer,
    removeAnswer,
    addQuestionNotification,
    updateAnswer,
    removeQuestionNotification,
} from "actions";

const Survey: React.FC<IProps> = (props) => {


    const goToNextPage = () => {...};

    const goToPrevPage = () => {...};

    const validateQuestion = () => {...}

    const validateModule = () => {...};

    const validatePage = (...) => {...};

    const validateFullSurvey = (...) => {};

    return (
        <div>
            <SurveyContext.Provider
                value={{
                    addAnswer: props.addAnswer,
                    removeAnswer: props.removeAnswer,
                    updateAnswer: props.updateAnswer,
                    answerList: props.answerList,
                    addQuestionNotification: props.addQuestionNotification,
                    removeQuestionNotification:
                        props.removeQuestionNotification,
                    surveyNotifications: props.surveyNotifications,
                    validateFullSurvey: validateFullSurvey,
                    validatePage: validatePage,
                    validateModule: validatePage,
                    validateQuestion: validateQuestion,
                }}
            >
                {...more components...}
            </SurveyContext.Provider>
        </div>
    );
};
...