Ich habe eine Konfigurationsdatei, die ich möchte importieren und Rendering/Schleife in einer meiner Komponenten. Die Konfigurationsdatei:ReactJS Zugriffsvariable außerhalb des Bereichs in Render-Funktion
data.config.js
export const data = {
clientData: {
name:'Lynda',
age:'53',
userid:7896
},
otherData: [
{
option1: 'good;',
option2: {type: 'confirmed'},
option3: ['u','g','l','y']
},
{
option1: 'awesome;',
option2: {type: 'temporary'},
option3: ['u','g']
},
],
};
component.js
Dateiimport { data } from '../config/client/data.config.js';
..
var clientData = data.clientData; // console o/p returns object key and values
var otherData = data.otherData; // console o/p returns object key and values
..
render() {
const {
title,
favicon,
socialMediaDesc,
socialMediaImg,
...
} = this.props;
...
return(
<html className="no-js" lang="en">
<title>{title}</title> // works as expectec
...
<script dangerouslySetInnerHTML={{ // eslint-disable-line react/no-danger
__html: `
for (var client in ${clientData}) {
if (${clientData}.hasOwnProperty(client)) {
(function(key, value) {
console.log(key, " : ", value);
})(client, ${clientData}[client]);
}
};
`,
}}
</html>
)
}
Erwartete Konsole o/p:
name : Lynda
age : 53
userid : 7896
Ergebnis, das ich erhalte: Uncaught SyntaxError: Unexpected identifier as value of ${clientData} is [object Object]
Wie kann ich innerhalb der Renderfunktion auf clientData und andereData-Schlüssel und -Werte zugreifen?
'Import {data} von‘ ../ config/Client/data.config.js'; 'was macht ein' console.log() 'im Konstruktor sagen? – Nocebo
Ich werde den ursprünglichen Beitrag aktualisieren – user988544
Ich glaube, diese Const sind in der falschen Zeile deklariert. Das sollte vor der Rückkehr sein. Sie können versuchen, die Zeichenfolge, die in dangerousSetInnerHTML prop vor dem Rendern gehen wird, zu erstellen und diese Zeichenfolge als eine einzelne Variable verwenden. – bennygenel