import React from "react";
import { withRouter } from "react-router-dom";
const Nav = ({ history }) => (
<nav>
<div onClick={() => history.push('/')}>Истории</div>
<div onClick={() => history.push('/bilboard')}>Билборд</div>
<div onClick={() => history.push('/loved')}>Избранное</div>
</nav>
)
export default withRouter(Nav);
const treeFieldsByType = {
obj_tree: 'obj_tree',
obj_feature_tree: 'obj_feature_tree',
regexp_tree: 'regexp_tree',
};
trees.map((tree) => {
const fieldName = treeFieldsByType[tree.tree_type];
if (item.id === tree[fieldName].parrent_element) {
tree[fieldName].parrent_element = newId;
}
});
case INCREMENT_QTY:
const { payload: newItem } = action;
return {
...state,
items: state.items.map(item => {
if(item.id === newItem.id) {
return {
...item,
qty: newItem.qty,
}
}
return item;
})
};
// Пишем хэндлер пост запроса
app.post('/notify', function (req, res) {
const userIds = req.body.user_ids; // берем из body список пользователей, которым нужно отправить уведомление
const data = req.body.data; // уведомление
userIds.forEach(userId => {
// проверяем что пользователь онлайн
if (io.sockets.connected[userId] !== undefined) {
// отправляем ему уведомление
io.sockets.connected[userId].emit('event', data);
}
});
res.json({ status: 'OK' });
});
однако я придумал и альтернативное решение: написать функцию (или класс с методами), которая бы имела доступ к store сама по себе. Вызывая эту функцию в любом месте приложения, не приконнекченный компонент будет получать актуальные данные из state.