в родитель, под каждый child нужно в родителе создавать новую функцию для передачи или можно как-то сократить?
Можно как то сократить
было бы интересно узнать как)
Был бы код, разговор был бы более предметным
Есть несколько child'ов, внутри которых таблица и по клику на строку заполняются инпуты, часть кода: return ( <Row> <Col lg={24} md={24} sm={24} > <Input value={rowValue} style={{ marginLeft: '8px' }} /> <Table dataSource={tableTypeDocDocuments} columns={columns} onRow={record => { return { onClick: () => { this.onClickRow(record); this.props.updateData(record.ID); } }} /> </Col> </Row> в родителе создаю функцию для передачи данных updateData = (data) => { this.setState({ componentData: data }) } и передаю в компонент <Component updateData={this.updateData} /> так вот, нужно такие функции создавать под каждый child, которых не мало или можно как-то сократить?
В updateData ты можешь аргументом передавать не только данные но и мета информацию, с какого чайлда пришла инфа
даже не сталкивался с таким, что включает в себя мета информацию? что-то загуглил не нашел ответа, либо не правильно понял
updateData = ({ name, data }) => { this.setState({ componentData: {...this.state.componentData, [name]: data} }) } Мета информация это общий термин. В примере выше параметр data - данные, name - метаданные
понял, в метаданных я могу передать любой признак, хоть и строку?
Зависит от вашего кейса, который я так и непонял, но вцелом да
но все равно не понял, как эти данные не будут перезаписываться, если использовать одну функцию? если я передаю данные с одного компонента в родитель, после с другого, они же перезапишутся?
Делайте песочницу рабочую и будем разбираться, а так мы просто сотрясаем воздух безсмысленно
https://codesandbox.io/s/hardcore-worker-xjiek?file=/src/App.js
Зачем ты разделил firstcomponent и секонд? Это один и тот же копонент с разными данными
https://codesandbox.io/s/eager-chatelet-uxtel?file=/src/App.js
накидал на быструю руку, на самом деле большинство компонентов разные и все с разными данными, но суть и так понятна, со всех них нужно собрать выбранные данные в родителе
тююю) там обьект принимало, а я два параметра передаю, ох уж эта невнимательность, спасибо!
Обсуждают сегодня