Я использую библиотеку реагирующее окно и буду очень признателен за некоторые указатели с инъекцией реквизита для детей <FixedSizeList />
.
У меня есть компонент, который получает <FixedSizeList />
ребенок и оказывает его. Что мне нужно сделать, так это добавить несколько реквизитов в элементы списка, которые содержит сам <FixedSizeList />
. У меня нет хороших идей о том, как этого добиться, поэтому любые идеи приветствуются.
Мой код выглядит примерно так:
class SelectListBody extends React.Component {
render() {
const childrenArray = React.Children.toArray(this.props.children)
const newChildren = childrenArray.map((child, i) => {
if (child.type === FixedSizeList) {
// This below returns 0,
// even if the actual code works and rendering is as expected
console.log(React.Children.count(child.props.children))
// here we would inject additional props to the captured child(ren) of the FixedSizeList
}
return child
})
return <div>{newChildren}</div>
}
}
export default SelectListBody
Поэтому моя главная проблема заключается в том, что React.Children.count(child.props.children)
всегда 0, даже если реальный код работает и хорошо отрисовывается. Я смотрю не на то место? Я смотрю не так?
Компонент <FixedSizeList />
используется примерно так:
<FixedSizeList>
{ListItem}
</FixedSizeList>
А затем <ListItem />
визуализирует компонент SelectItem/>
, который в конечном итоге моя цель для инъекций. Но я даже не могу добраться до <ListItem />
, который находится на один уровень выше.