2017-12-16 3 views
0

Ich habe zwei .js-Dateien. Die zweite Datei rendert eine Kartenkomponente. Ich möchte diese Komponente 3 Mal aus der ersten Datei mit unterschiedlichen Bildstandorten als Requisiten zur zweiten Datei aufrufen und das Bild über die require-Methode in der zweiten Datei anzeigen. Hier ist was ich versucht habe.
erste DateiWie Bildstelle als Requisite zu einer anderen Komponente übergeben und in require-Methode verwendet werden

<CardContent 
     dp= "'../images/1Dp.jpg'" /> 
<CardContent 
     dp= "'../images/2Dp.jpg'" /> 
<CardContent 
     dp= "'../images/3Dp.jpg'" /> 

Zweite Datei

const { dp } = props; 
return(
    <Card> 
    <CardItem> 
     <Left> 
     <Thumbnail source={require({dp})} /> 
     </Left> 
    </CardItem> 
    </Card> 
); 

Hinweis: Die Bildstellen sind an die Stelle der zweiten Datei w.r.t.
Fehler: benötigen, müssen Einzel Stringliteral Argument haben (Dies ist der Fehler, den ich auf Ausführen der App bekommen)

Antwort

0

Sie haben eine Reihe von zusätzlichen Klammern in der Kartenkomponente in Ihren Anruf verlangen. Sie haben auch eine Reihe von zusätzlichen Kommas, wenn Sie dp als Requisite übergeben. sollte <CardContent dp="../images/2Dp.jpg" />

const { dp } = props; 
return(
    <Card> 
    <CardItem> 
     <Left> 
     <Thumbnail source={require(dp)} /> 
     </Left> 
    </CardItem> 
    </Card> 
); 

sein, die funktionieren sollte.

In Ihrem Code verwenden Sie {dp}, die es6 Kurzschreibweise für {dp:dp} ist. require nimmt eine Zeichenfolge als erstes Argument.

+0

Nein Ich wickelte dp in {}, da es eine Stütze ist, die ich benutze. Obwohl es sogar den gleichen Fehler gibt, wird es sogar entfernt. –

+0

Ich weiß nicht, ob ich richtig denke, aber ich habe den Ort als String übergeben. Wenn ich ' {dp}' tue, wird dies '' ../ images/ 1Dp.jpg'' zusammen mit den einfachen Anführungszeichen gedruckt. Also nahm ich an, dass '{dp}' in require in '

+0

Wenn du ' {dp}' tust, ist es die jsx-Notation, die dir sagen lässt, dass dp eine Variable ist. Aber das ist das gleiche in 'source = {}'. Daher müssen Sie nur 'dp' darin schreiben. –

Verwandte Themen