indexOf 的原生基础手风琴错误不是函数

问题描述

我是 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 文件中设置旧版本来手动降级版本。