【问题标题】:How to load local files in react native based on id in component?如何根据组件中的id加载本地文件?
【发布时间】:2016-12-07 17:05:39
【问题描述】:

我需要根据来自 props 的 id 在一个组件中加载一个项目。

我尝试使用fetch,但无法加载本地文件。

也试过import from,但它必须在文件的开头,而不是在组件中。

我想要这样的东西:

const Detail = (props) => {
  let id = props.data;
  let path = './book/'+id+'.json';
  var bookData = require(path);
  return (
    <Container>
      <Header></Header>
      <Content>
        <Text>ID: {id}</Text>
        <Text>{bookData}</Text>
      </Content>
    </Container>
  );
}

【问题讨论】:

    标签: react-native local-database


    【解决方案1】:

    从未尝试过这样的事情,但尝试将您的回报改为

    return ({ ID: {id, ...bookData} })
    

    【讨论】:

    • 那行不通。问题是不能从组件的本地文件中加载数据
    • 可能更容易将所有 .json 文件扁平化为 books.json,然后将其导入到容器中。然后你的 Detail 组件可以通过 props 获取值。
    • 想一想,如果有10万本书,会超级慢,效率低
    • 您可以使用数据库,这样您的应用程序也会变小。
    猜你喜欢
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 2017-05-08
    • 2021-05-07
    • 2012-06-01
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多