2016-12-07 2 views
0

J'ai besoin de charger un élément dans un composant, basé sur son identifiant qui provient des accessoires.Comment charger les fichiers locaux dans réagissent natif basé sur l'ID dans le composant?

J'ai essayé d'utiliser fetch, mais il ne peut pas charger le fichier local.

Également essayé import from, mais il doit être au début du fichier, pas dans le composant.

Je veux quelque chose comme ceci:

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> 
); 
} 

Répondre

0

a essayé jamais quelque chose comme ça, mais essayez de changer votre retour à

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

qui ne fonctionnera pas. Le problème est qu'il est IMPOSSIBLE de charger les données du fichier local du composant – harrrrrrry

+0

pour faciliter l'aplatissement de tous vos fichiers .json dans un books.json, puis importez-les dans votre conteneur. Ensuite, votre composant Détail peut saisir des valeurs via les accessoires. –

+0

Pensez-y, si elle a 100.000 livres, ce sera super lent et inefficace – harrrrrrry