@trufinol

Как реализовать редактирование данных?

Всем привет!
Возможно, вопрос глупый, но решение задачи я найти не смог.

Задача - реализовать возможность CRUD-операций для приложения. C, R, D уже есть.
Необходимо реализовать возможность редактировать и сохранять изменения на сервере.
Данные загружаю из Firebase в таком формате:

[
...
{
	id: "1",
	title: "some title",
	number: "1111",
	format: "some format",
	string: "some string"
	}
...
]


Использовал модуль "react-edit-inline", который позволяет редактировать поле при клике на нем.
Так выглядит сам компонент:

export default React.createClass({
	
	dataChanged(newdata) {
		
		this.setState({
			data: newdata
		});
	},
	
	render() {
		
		return (
			<div>
			<div
			<InlineEdit paramName="title" change={this.dataChanged} text={this.props.title} />
			<InlineEdit paramName="year"  change={this.dataChanged} text={this.props.nubmer} />
			<InlineEdit paramName="year"  change={this.dataChanged} text={this.props.format} />
			<InlineEdit paramName="stars" change={this.dataChanged} text={this.props.string} />
			</div>
		)
	}
})

Понятно, функция "dataChanged" перезаписывает значение в выбранном поле. У меня есть свойство объекта и его значение, но у меня нет самого объекта, к которому привязано это свойство.
Не понятно как исходя из этих данных реализовать перезапись данных.
  • Вопрос задан
  • 976 просмотров
Пригласить эксперта
Ответы на вопрос 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Добрый день.

но у меня нет самого объекта, к которому привязано это свойство.

А откуда у вас тогда this.props.title, например?

После редактирования поля (полей) вы отправляете запрос на сервер с данными из формы (по нажатию на кнопку в родительском компоненте, или как?). Используйте id, которое вам изначально приходит (судя по формату данных в вашем вопросе) и находится, вероятно, в this.props.id
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы