В настоящее время я создаю конструктор опросов. Я хочу начать проект с учетом возможности тестирования. Я стремлюсь к четкому разделению компонентов контейнера и представления. Одна из моих идей заключалась в том, чтобы передать множество создателей действий 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>
);
};