Поработаем над контейнером AddingListOrWord.
На этом экране будет одно поле ввода, и введенное значение надо будет где-то хранить.
Для этого используй useState.
Сам контейнер AddingListOrWord должен возвращать SafeAreaView со стилями:...
Проработаем контейнер Words, который должен возвращать два SafeAreaView элементами.
Первый со стилями: flex - 1, backgroundColor - colors.blue1, а второй: flex - 0, backgroundColor - colors.blue1.
Дальше все элементы будут добавляться в первый SafeAreaView....
Поработаем над методами redux. Но сначала добавим нужные константы в файл src/external/redux/constants.
API, FETCH_WORD_ENDPOINT, ADD_WORD, SET_ERROR, SET_LOADING - значение всех констант равняется их имени.
А потом добавь экспорт функции getFetchWordEndpoint в файл src/external/redux/helpers....
Данные надо где-то хранить. Для этого давай использовать библиотеку @react-native-async-storage/async-storage.
Напишем две функции для сохранения и чтения данных в файле functions.js в корне проекта.
Назовем эти функции setStorage для сохранения и readStorage для чтения....
Теперь добавим немного начального кода для хранилища redux.
Установи библиотеки redux, react-redux и redux-thunk.
В файле src/external/redux/constants.js создай три константы ADD_LIST, LISTS, WORDS.
Значение каждой константы должно быть такое же, как и ее название....
Добавим нужные константы в файл src/external/redux/constants.
DELETE_LIST, DELETE_WORD - значение всех констант равняется их имени.
Экспортируй из файла src/external/redux/actions еще две функции: deleteWord, deleteList и setLoading.
Возвращать каждая должна объект с полями type и payload....
Добавь константу SET_STORAGE_DATA в src/external/redux/constants, равную ее же имени.
Добавь readAsyncStorage функцию в файл src/external/redux/actions и экспортируй ее.
Этот метод должен возвращать асинхронную функцию с одним аргументом dispatch.
В замыкании сначала читаем с помощью readStorage данные для ключей LISTS и WORDS....
Функции deleteListResult, deleteWordResult, addListResult, addWordResult должны быть экспортированы из src/external/redux/helpers.
deleteListResult должен получать в качестве аргументов состояние и список для удаления.
Этот метод должен возвращать обновленное состояние, отфильтровав списки LISTS и WORDS....
Доработаем reducer. По умолчанию он должен возвращать начальное состояние.
Случай ADD_LIST должен вызывать метод addListResult, случай ADD_WORD: addWordResult.
Случаи DELETE_LIST и DELETE_WORD - методы deleteListResult и deleteWordResult соответственно.
При этом всегда нужно возвращать результат вызова метода с соответствующими аргументами....
Нужно создать папки: src/containers/Words/Word, src/containers/Words/Word/Details, src/containers/Words/Word/Option.
В каждой из низ нужен index.js файл для создания соответствующих компонентов.
Начнем с компонента Option. Он должен возвращать элемент Text.
Если свойство detailsKey не равно examples или defs:...