Но id же мы получаем из того же объекта что и все данные элемента, вполне же ясно откуда мы его получили
а как тогда там добавить эти данные в store чтоб компонент подписанный под store не принял данные и не отрендерил их?
т.е я принял данные в поля, изменил кнопку добавить на изменить а далее как то надо изменить именно этот элемент, что собственно я совсем не представляю.
// обязательно создаем новый объект
this.props.saveChanges({
id: this.props.id, // <------------ У вас уже есть id!
author: this.authorInput.value,
name: this.nameInput.value,
imgUrl: this.state.imagePreviewUrl
});
// это в редьюсере
// items --> все айтемы
const itemsReducer(state, action) {
switch(action.type) {
// ...
case 'CHANGE_ITEM':
const changedItem = action.payload.item
return {
...state,
// итерируем по всем айтемам, заменяем тот у которого id совпадает, остальные - не трогаем
items: state.items.map(item => item.id === changedItem.id ? changedItem : item)
// ...
}
}
Свой не умею писать)
вы имеете ввиду "react-scripts" build или я чего то упускаю?
еще момент с proxy, который у меня в package.json прописан для фронта, не похоже что это работает при сборке
а getValFromChild(childs) реализовать через ref или каким-то другим способом?
и если можно, пару слов о дереве в плоском виде.
const flatTree = {
[nodeId]: { id, ..., nodes: [ nodeId1, nodeId2, nodeId3 ] }
}
спасибо. а в чем преимущество делать еще одну обертку вокруг this.props.onClick(1)
еще у меня вопрос по actions. в чем их смысл я так и не понял. получается