Oleg
складываеш данные
Oleg
данные из стейтв береш или редакса
Den
А проблема, о которой я писал, можете подсказать?
Oleg
а в чем проблема?
Oleg
в чем вопрос
Oleg
я чот ниче не понел)
Dmitry
3 раза прочитал вопрос, но не смог понять)
Den
в функции идет вызов санк функции, после ее выполнения нужно актуальный стейт
Den
сделал так
const store = useStore();
const getItems = async (callback) => {
store.dispatch(() => ({ value: getItemsThunk(3) }));
store.subscribe(() => {
const { app: currentItems } = store.getState();
callback(currentItems);
});
};
но для тайпскрипта это не катит
Yura
Ну так актуальный стейт разве не в mapStataToProps?
Oleg
создаеш экшн криетор типа setItems
Oleg
и после получения данных в него передаеш полученые данные items
Oleg
которые setItems запихивает в стейт
Den
типо локальный использовать стейт?
Oleg
то есть в санке пишешь dispatch(setItems(items))
Oleg
нет, редаксовский
Oleg
в сторе создаеш экшн криейтор
Oleg
setItems
Oleg
по этому экшину в редюсере записываются в стейт переданные данные
Oleg
ой все кароч
Oleg
скидывай ссылку на гитхаб
Den
https://github.com/themse/redux-thunk-edu/blob/master/src/components/app/app.js
Oleg
и еще, если у тебя стейтлесс компонент то не нужно использовать коннект, ибо с функциональной компонентой используются хуки типа useSelector и useDispatch
Den
это запомнил, спасибо
Oleg
санку вызывай так
Oleg
const dispatch = useDispatch();
React.useEffect(() => {
dispatch(getItems());
}, [dispatch]);
Den
это вместо?
const mapDispatchToProps = dispatch => {
return bindActionCreators(
{
getItemsThunk,
},
dispatch
);
};
Oleg
вместо этова
Oleg
const store = useStore();
const getItems = async (callback) => {
store.dispatch(() => ({ value: getItemsThunk(3) }));
store.subscribe(() => {
const { app: currentItems } = store.getState();
callback(currentItems);
});
};
Den
getItems нужен не только для санки, а чтоб обработать новый стейт
Oleg
const dispatch = useDispatch();
React.useEffect(() => {
dispatch(getItemsThunk());
}, [dispatch]);
Oleg
вот так да
Oleg
ну кароч диспатчиш санку
Oleg
а это нужно удалить
Oleg
const mapDispatchToProps = dispatch => {
return bindActionCreators(
{
getItemsThunk,
},
dispatch
);
};
Den
а как приблизительно должен выглядить setItems ? екшн криейтор?
Den
должен быть с колбеком, который возвращает актуальный стейт?
Den
Есть вариант в санке возвращать стейт. Вот нагуглил
export default function createUser(params) { return async dispatch => { function onSuccess(success) { dispatch({ type: CREATE_USER, payload: success }); return success; } function onError(error) { dispatch({ type: ERROR_GENERATED, error }); return error; } try { const success = await axios.post('http://www..., params); return onSuccess(success); } catch (error) { return onError(error); } } }
Den
Так норм?
Den
В любом случае, спасибо Олег!
Oleg
да кароч, у тебя уже есть он
Oleg
addItems
Oleg
все должно работать
Den
Спасибо!
Александр
Робокар Поли на Реакте?))
Александр
Пардоньте, не все успеваю отследить
Anonymous
Можете помочь как можно устранить в React есть поля input когда я что-то веду получаю в console ошибку
Anonymous
Anonymous
Daria
Anonymous
Anonymous
Daria
а сам инпут покажи, у меня на днях была такая проблема, скорее всего, что там несовместимость какая-то в атрибутах инпута
Anonymous
Вот
Anonymous
Dmitry
расскажите, пожалуйста, как люди додумываются фотографировать экран)
Anonymous
Daria
Daria
Daria
Как можно исправить ?
Чтобы input был управляемым, его значение должно соответствовать значению переменной состояния.
типа name = this.state.name
Daria
Anonymous
Дмитро
яяяяяяя пофиксил, такая хрень ппц
Дмитро
Станислав
Друзья, всем привет. Тут шарится Charlotte Sebastian, ее намерения мне неизвестны, но она вступает в диалог и пытается побольше о вас узнать. Она сказала, что нашла мой контакт тут. Так что, будьте осторожны)) (общается на англиском)
Anonymous
😂😂😂 defaultVl
Дмитро
Oleg
ниче не понятно но на всякий случай поржал
Станислав
)))))))))
Станислав
после того, как я ей написал, что она может быть ботом или другим человеком, она стерла все переписку, даже мои сообщения, как не понятно)
Дмитро
Станислав
нет)) зараза, но я уже намекал
Dmitry
это знаменитые русские хакеры Шарлота и Мишель
Дмитро
Dmitry
😂
Дмитро