Как использовать плоский лист в ренатальном периоде?
У меня есть следующий список:
[flat-list {
:data [{:name "a"}
{:name "b"}
{:name "c"}]
:render-item (fn [item] [text (:name item)])
:key-extractor #(random-uuid)
}
]
Но это не работает и дает мне:
Invariant Violation: Objects are not valid as a React child (found: object with keys {name, id, class}). If you meant to render a collection of children, use an array instead.
Что я делаю неправильно?
-- РЕДАКТИРОВАТЬ --
Теперь у меня есть следующее:
[flat-list {
:data [{:name "a"}
{:name "b"}
{:name "c"}]
:render-item (fn [item-]
(r/reactify-component
[text (:name item-)]
))
:key-extractor #(:name %)
:content-container-style {:align-items "center"}
}
]
Но получаю ошибку: Functions are not valid as a React child. This may happen if you returns a Component instead of <Component/> from render. Or maybe you meant to call this function rather than return it.
Вместо этого использование as-element не вызывает ошибки, но также не отображает текстовые компоненты.
1 ответ
Это просто потому, что renderItem ожидает реагирующего компонента
:render-item (fn [item]
(r/reactify-component [text (:name item)]))
:render-item (fn [item]
(r/as-element [text (:name item)]))