私は、自分のコンポーネントの1つでインポートしてレンダリング/ループスルーする設定ファイルを持っています。設定ファイル:component.jsをファイルレンダリング機能で範囲外のReactJSアクセス変数
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']
},
],
};
data.config.js
import { 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>
)
}
期待コンソールO/P:私は取得しています
name : Lynda
age : 53
userid : 7896
結果: Uncaught SyntaxError: Unexpected identifier as value of ${clientData} is [object Object]
どのようにして、clientDataとotherDataのキーとレンダリング関数内の値にアクセスできますか?
「../設定/クライアント/ data.config.js'から 'インポート{データ}; ''にconsole.log()は 'コンストラクタに何を言っていますか? – Nocebo
私は元の投稿を更新します – user988544
私はこれらのconstが間違った行で宣言されていると思います。帰りの前にする必要があります。レンダリングの前にdangerouslySetInnerHTML propに入って、その文字列を単一の変数として使用する文字列を作成しようとすることができます。 – bennygenel