问题描述
我是 React Native 的新手,所以如果这是一个愚蠢的问题,我深表歉意,但我在使用 native-base 的 Accordion 组件时遇到错误。我给我一条消息“e.state.selected.indexOf 不是函数”。
我将原生文档中的示例代码粘贴到小吃 here 中以显示问题。这是代码,非常简单:
import React,{ Component } from "react";
import { Container,Header,Content,Accordion,Text } from "native-base";
const dataArray = [
{ title: "First Element",content: "Lorem ipsum dolor sit amet" },{ title: "Second Element",{ title: "Third Element",content: "Lorem ipsum dolor sit amet" }
];
export default class AccordionExample extends Component {
render() {
return (
<Container>
<Header />
<Content padder>
<Accordion dataArray={dataArray} expanded={0}/>
</Content>
</Container>
);
}
}
解决方法
package.json
中指定的 native-base 包是 *
,它获取最新的稳定版本 2.15.2。此版本似乎有一个错误,需要您将扩展作为数组传递。
您可以找到有关此问题的讨论 here。
使用以下语法应该可以解决问题:
<Accordion dataArray={dataArray} expanded={[0]}/>
或者,您可以通过在 package.json
文件中设置旧版本来手动降级版本。