🚀 Обучение программированию в виде онлайн игры: курс Full-Stack JavaScript 💪

Задача #3801, Этап #18 - Приложение Vocabulary Builder

Поработаем над методами redux. Но сначала добавим нужные константы в файл src/external/redux/constants. API, FETCH_WORD_ENDPOINT, ADD_WORD, SET_ERROR, SET_LOADING - значение всех констант равняется их имени. А потом добавь экспорт функции getFetchWordEndpoint в файл src/external/redux/helpers....

August 15, 2020 · 1 мин · Coderslang Master

Задача #3801, Этап #19 - Приложение Vocabulary Builder

Данные надо где-то хранить. Для этого давай использовать библиотеку @react-native-async-storage/async-storage. Напишем две функции для сохранения и чтения данных в файле functions.js в корне проекта. Назовем эти функции setStorage для сохранения и readStorage для чтения....

August 15, 2020 · 1 мин · Coderslang Master

Задача #3801, Этап #2 - Приложение Vocabulary Builder

Теперь добавим немного начального кода для хранилища redux. Установи библиотеки redux, react-redux и redux-thunk. В файле src/external/redux/constants.js создай три константы ADD_LIST, LISTS, WORDS. Значение каждой константы должно быть такое же, как и ее название....

August 15, 2020 · 1 мин · Coderslang Master

Задача #3801, Этап #20 - Приложение Vocabulary Builder

Добавим нужные константы в файл src/external/redux/constants. DELETE_LIST, DELETE_WORD - значение всех констант равняется их имени. Экспортируй из файла src/external/redux/actions еще две функции: deleteWord, deleteList и setLoading. Возвращать каждая должна объект с полями type и payload....

August 15, 2020 · 1 мин · Coderslang Master

Задача #3801, Этап #21 - Приложение Vocabulary Builder

Добавь константу SET_STORAGE_DATA в src/external/redux/constants, равную ее же имени. Добавь readAsyncStorage функцию в файл src/external/redux/actions и экспортируй ее. Этот метод должен возвращать асинхронную функцию с одним аргументом dispatch. В замыкании сначала читаем с помощью readStorage данные для ключей LISTS и WORDS....

August 15, 2020 · 1 мин · Coderslang Master

Задача #3801, Этап #22 - Приложение Vocabulary Builder

Функции deleteListResult, deleteWordResult, addListResult, addWordResult должны быть экспортированы из src/external/redux/helpers. deleteListResult должен получать в качестве аргументов состояние и список для удаления. Этот метод должен возвращать обновленное состояние, отфильтровав списки LISTS и WORDS....

August 15, 2020 · 1 мин · Coderslang Master

Задача #3801, Этап #23 - Приложение Vocabulary Builder

Доработаем reducer. По умолчанию он должен возвращать начальное состояние. Случай ADD_LIST должен вызывать метод addListResult, случай ADD_WORD: addWordResult. Случаи DELETE_LIST и DELETE_WORD - методы deleteListResult и deleteWordResult соответственно. При этом всегда нужно возвращать результат вызова метода с соответствующими аргументами....

August 15, 2020 · 1 мин · Coderslang Master

Задача #3801, Этап #24 - Приложение Vocabulary Builder

Нужно создать папки: src/containers/Words/Word, src/containers/Words/Word/Details, src/containers/Words/Word/Option. В каждой из низ нужен index.js файл для создания соответствующих компонентов. Начнем с компонента Option. Он должен возвращать элемент Text. Если свойство detailsKey не равно examples или defs:...

August 15, 2020 · 1 мин · Coderslang Master

Задача #3801, Этап #25 - Приложение Vocabulary Builder

Теперь поработаем над компонентом Details. Он должен возвращать элемент View. У View свойство marginVertical должно равняться 10. Внутри View сначала добавим элемент Text: для значения detailsKey defs - внутренний текст Definition:,...

August 15, 2020 · 1 мин · Coderslang Master

Задача #3801, Этап #26 - Приложение Vocabulary Builder

Теперь время проработать компонент Word. В нем будут разворачиваться и сворачиваться детали. Для этого добавим флаг с использованием хука useState. Начальное значение - false. Компонент Word должен возвращать элемент View, внутри которого будет TouchableOpacity со стилями:...

August 15, 2020 · 2 мин · Coderslang Master