Ilya Parakhin
не страшно, главное не запутаться потом
Mourat
пойду худеть. все добра
Archer
😉
Андрей
Может кто подскажет как добавлять сообщения в базу. Сейчас я добавляю их в state и после обновления страницы они исчезают, а мне нужно что бы они заносились сразу на сервер
Ilya Parakhin
а сервер у тебя есть? тогда пост запросом
Андрей
да mongodb
Андрей
let onAddMessage=()=>{
props.addMessage();
}
Андрей
это в input компоненте
Андрей
addMessage:()=>{
dispatch(addMessageActionCreator());
},
Андрей
это в InputContainer компоненте. Куда вставлять запрос?
Ilya Parakhin
addMessage. в него надо поставить промис с отправкой запроса и при resolved отправляешь диспатч в стейт
Андрей
ok спасибо, попробую
Андрей
Андрей
что то было про промисы в видео, но не могу найти
Владимир
Всем привет! подскажите, можно как то через props прокинуть html? Все теги выводит тесктом простым.
Vadim
можна
http://qaru.site/questions/117697/react-how-to-pass-html-tags-in-props
Ilya Parakhin
А можешь подсказать как записать промис?
Смотри лучше в уроке у Димыча, он использует библиотеку axios для создания запросов. Если было бы просто - то fetch(url, method:"post", body: чтоОтправляешь).then(res => if(res.ok) dispatch)
Ilya Parakhin
А так в библиотеке для запросов уже готовые методы, ими проще пользоваться
Владимир
Владимир
получилось)
Андрей
Владимир
Владимир
кто нибудь сталкивался вот с таким: есть стиль, там происзодит наложение цвета (градиент с полупрозрачностью) на фото. Фото тянется из пропс. Хочу вынести в css, но думаю не получиться. Или вытянуть стиль из css и реплайсом заменить например некий шаблон туда вставленый %photo%?
Владимир
про реплейс понял что тупость, там название стиля а не сам текст стиля
Андрей
Подскажите, что делаю не так.
Андрей
let onAddMessage=()=>{
axios.post('http://localhost:4000/business/add',{
name:props.name,
message:props.message
}).then(response =>props.addMessage(response.data)
)
}
Андрей
В базу заносится, но другой пользователь без перезагрузки не видит сообщения
Андрей
это можно как то исправить?
V
я чет не понял
V
другой пользователь?
V
то есть из 2х браузеров или как?
Андрей
да
V
что ты используешь для получения? сокеты или лонгполинг?
Андрей
у нас на сервере все)
V
сокеты есть в любой ОС
V
это не сервер
V
ты понял свою ошибку?
V
та записал в БД что то, но откуда об этом знает браузер?
Андрей
нет там та, просто код с локалки)
V
ты ему должен либо сказать (сокеты) либо заставить свой браузер регулярно бомбить твой сервер и узнавать, есть ли что-то новое (лонгполинг), и как по мне - последнее лютая лажа
Андрей
let onAddMessage=()=>{
axios.post('http://chat.solobut.ru:4000/business/add',{
name:props.name,
message:props.message
}).then(response =>props.addMessage(response.data)
)
}
V
просто запомни - твой браузер никак не может знать, что на сервере происходит
V
помни об этом всегда
V
и твой сервер тоже в душе не... знает, что в браузере происходит
Андрей
понял
V
если ты хочешь что то куда то передавать - у тебя должны быть соответсвующие интерфейсы
V
либо через сокеты установить соединение и с сервера слать на браузер инфу, типа вот как это работает
V
мы сидим в чате
V
я тебе написал, сообщение попало в БД, но откуда это узнает твой клиент (браузер)
V
когда загружаешь страницу - ты получаешь все данные
V
но как быть - если она уже загружена?
V
нужно либо каждые, допустим, 2-3 секунды слать запрос на сервер и спрашивать - есть ли мне сообщения? - но это масса лишней нагрузки
V
либо же сокеты - установил их, и ждешь - а сервер сам свяжется через сокеты с твоим браузером, и скажет - что тебе что-то пришло
V
но опять же - тебе нужно "научить" твой сервер слать нужные сообщения нужным людям - сам он не догадатеся что и кому слать, как например я догадался, в чем у тебя проблема
Андрей
Понятно, спасибо. Уже недели 2 пытаюсь простенький чат запилить)
V
ну теперь ты понял - без сервера связи нет между клиентами
V
никак
V
что бы запилить чат тебе надо вебсокеты - погугли за них
V
какой язык используешь?
V
лол) я с вебсокетами работал меньше, чем с обычными сокетами)
Vladislav
websocket or ws or socket io?
V
пока уволился с работы, хочу вот 2 недели посвятить заполнению пробелам в знаниях) и вот на выходных вмажу вебсокеты
V
мы юзали socket.io
V
на клиенте
V
ну, думаю понял)
Vladislav
Там же http вообще уже удален
Vladislav
Там сервак не запустить
Vladislav
или через express это запускать
V
я хз, уже 3 года не приходилось с вебсокетами дело иметь
V
с 2016 года
Heavy
Комрады, нашел тутбыстрый алгоритм подсчета установленных бит в байте. Может кто знает еще что-то более быстрое и компактное?
Vladislav
А как отрпавить object в websocket?
Vladislav
Когда я отправляю. он выводит это как текст
Vladislav
Се я уже сделал, только теперь он превращает его в строку на выходе, как его за decode xD
Alexey
Кодируй объект в json
Vladislav
Та я уже все
Vladislav
сделал крч)
Vladislav
Я запутался по урокам вообщем. И понять не могу вообще. Могу ли я отсюда вызвать это?