Сергей
Там обычный put запрос самая большая проблема правильный объект отправить..что бы сервак его понял..
Sergiy
Сергей, ты не туда смотришь
Владислав
Проблем вообще нет. Я просто не нашёл на какой урл отправлять
Владислав
Есть здесь те , у кого большой опыт по js ? Или многие начали с реакта?)
Сергей
На профайл...там на странице есть выше расписанных эндпоинтов ссылка на документацию в которой есть эндпоинт куда отправлять..
Владислав
Profile видел
Сергей
profile
update logged in user profile. You should pass full object, if some properties are missing, then server will set default values (null or empty) for them.
So if you want only aboutMe property, you should send entire object: the same values for properties you don’t want to change, and new value for property (aboutMe) you want to change
REQUEST
type: put
required params:
Full JSON object:
Владислав
Просто на /profile?
Сергей
может я туплю но вроде это
Владислав
Получается сервер меня определит по кукам?
Сергей
да
Сергей
как со статусом
Сергей
или авторизационным запросом
Владислав
Понял, спасибо)
Сергей
рано..))) я непробовал может и не так что то..
Сергей
https://docs.google.com/document/d/1ZSXmTzkgq_Kj1VbWuq8fTv_DPD95GFDvPZgqFeIYGoM/edit#
Artur
Ребят, а елси добавляешь mapStateToProps, mapDispatchToProps и Thunk
Artur
Как это все коннектится, примера что-то нет.
Artur
connect(mapStateToProps, mapDispatchToProps, Thunk ) так или не так?
Ignat
санку кидай в мдтп
Сергей
Санки в mapDispatchToProps пакуются или просто экспорт санок и типа connect(mapStateToProps, {Thunk1,Thunk2 и т.д.} connect сам разберется..
Ignat
ну и мидлвеар при создании редаксстора подключить не забудь
Artur
Вот есть санка export const getCoordinates = (key, str) => (dispatch) => {
authAPI.me()
.then(response => {
if (response.data.resultCode === 0) {
let {id, login, email} = response.data.data;
dispatch(setAuthUserData(id, email, login, true));
}
});
}
Artur
Ой, сечас поправлю.
Artur
Не то немного.
Sergiy
ребята. я пофиксил свою штуку с рейтингомм
Artur
Вот санка:
export const getCoordinates = (key, str) => {
return (dispatch) => {
GoogleAPI.getCoordinates(str).then(response => {
const coordinates = response.results[0].geometry.location;
dispatch(setCoordinatesCreator(key, coordinates))
})
}
}
Сергей
санки в коннект как обычные диспатчи прокидываются..соннект всего лиш запихивает их в пропсы..для работы санок надо applyMiddleware в createStore всунуть...и все..
Сергей
let store = createStore(reducers, applyMiddleware(thunkMiddleware));
Сергей
import {applyMiddleware, combineReducers, createStore} from "redux";
Сергей
import thunkMiddleware from 'redux-thunk'
Artur
Сергей
А как пакуются то? Вот у меня есть: let mapDispatchToProps = (dispatch) => {
return {
sendMessage: (newMessageBody) => {
dispatch(sendMessageCreator(newMessageBody));
}
}
}
Сергей
А как пакуются то? Вот у меня есть: let mapDispatchToProps = (dispatch) => {
return {
sendMessage: (newMessageBody) => {
dispatch(sendMessageCreator(newMessageBody));
}Coordinates: getCoordinates = (key, str) => (dispatch) => {
authAPI.me()
.then(response => {
if (response.data.resultCode === 0) {
let {id, login, email} = response.data.data;
dispatch(setAuthUserData(id, email, login, true));
}
});
}
}
}
Artur
Сергей
все абсолютно так же как и с обічніми диспатчами...главное что бы редусер их умел обрабатывать..
Artur
Сергей
у меня санки прямо в редюсере лежат ка диспатчи обычные..оттуда экспорт идет...
Сергей
export const setNewUsers = (users) => ({type: SET_USERS, users});
export const setTotalCount = (totalCount) => ({type: SET_TOTAL_COUNT, totalCount});
export const setCurrentPage = (currentPage) => ({type: SET_CURRENT_PAGE, currentPage});
export const userLoads = (userLoaded) => ({type: USER_LOADS, userLoaded});
export const setClickOnUsers = () => ({type: CLICK_ON_USER});
export const getUsersThanCreater = (currentPage, countOfUsersOnPage) => {
return (dispatch) => {
dispatch(userLoads);
usersApi.getUsers(currentPage, countOfUsersOnPage)
.then(data => {
dispatch(setNewUsers(data.items));
dispatch(setTotalCount(data.totalCount));
})
}
};
Сергей
let mapStateToProps = (state) => {
return {
users: state.usersPage.users,
currentPage: state.usersPage.currentPage,
countOfUsersOnPage: state.usersPage.countOfUsersOnPage,
totalCount: state.usersPage.totalCount,
error: state.usersPage.error,
userLoaded: state.usersPage.userLoaded,
}
};
export default connect(mapStateToProps, {getUsersThanCreater, numberPageClick})(UsersContainer)
Сергей
import {getUsersThanCreater, numberPageClick,} from "../Redux/usersReducer";
Artur
В твоем примере его же нет.
Artur
Выходит по твоей логике так? connect(mapStateToProps, {mapDispatchToProps, THUNK})(MyApp)
Сергей
так коннект сам обрабатывает санки и диспатчи которые получает как обьект и продвигает их в пропсы..значительно меньше кода..
Сергей
да...только connect(mapStateToProps, {mapDispatchToProps, {THUNK, THUNK2 и так дальше} })(MyApp)
Artur
Сергей
санки и диспатчи как обьект передаются в коннект и он сам их дуплит..
Artur
Сергей
есть урок у димыча по этому лайфхаку с коннектом..
Сергей
https://www.youtube.com/watch?v=_LZXisuCluw&list=PLcvhF2Wqh7DNVy1OCUpG3i5lyxyBWhGZ8&index=60&t=2s
Artur
Maks
добрый день.
не могу понять почему debager не срабатывает когда попадаю в changeAreaPosts() , а сразу перескакивает в dispatch() . При этом идентичный код с upAreaValueMessage() спокойно останавливается.
Maks
Maks
Maks
Владислав
Владислав
В чем может быть ошибка? Отправляю фотку - выбивает 403
Владислав
Почему сервер отказывается принимать?
SᑎOᙖOᖇᑎ
эт норм что видосы долго не выходят?
Мирослав
Для фото на телефоне в аду есть отдельний котёл)😅😅
Hennadii
Ребята, доброй ночи, кто знает, что бы при запросе Users возвращались пользователи с ссылкой на аватар что нужно? потому что у меня все пользователи имеют photos: null
Hennadii
Incredible
Ну ты пользовательские аватарки ведь как-то хранишь, это логично, по этому как вариант назначай самой аватарке ID пользователя и когда будешь их выводить используй само ID как найменование файла аватарки юзера.
Либо используй "хранилище" на самом сервере и для каждого юзера будет "свой файл" который при сохранении со стороны пользователя записывай в его ячейку БД и при выводе юзеров подтягивай данные с этой ячейки
Hennadii
Incredible
Hennadii
Incredible
Hennadii
🙏 спасибо
Elena
Elena
Elena
Ни в какую не хочет делать, ошибка 403, я залогинена, доступ оплачен
Hennadii
Elena
А ещё так
Elena
Андрей
Помогите разобраться. У меня есть простой API для аутентификации, я могу зарегестрироваться, теперь как мне взять данные у зарегестрированного пользователя. Как я понимаю этот метод прописывается в API? И он вроде как есть, но почему то не отрабатывает