私はReactを初めて使用しています。アイテムのリストを表示するためのウェブページを作成しています。jspからReact JSを呼び出す
私は、これはadmins.jsというファイルにコードを反応させるのがあります。
//more code
var AdminsBox = React.createClass({
getInitialState: function() {
return {adminsList: []};
},
setAdminsArray: function(data) {
this.setState({adminsList: data});
},
render: function() {
return (
<div>
<AdminsContentBox adminsList={this.state.adminsList}/>
</div>
);
}});
var AdminsBoxRender = ReactDOM.render(
<AdminsBox />,
document.getElementById('adminsContent')
);
とファイルindex.jspの中を:
<html lang="es">
<head>
<link rel="stylesheet" href="base.css" />
<script src="react.js"></script>
<script src="react-dom.js"></script>
<script src="browser.js" charset="utf-8"></script>
<script src="jquery.min.js"></script>
<script src="marked.min.js"></script>
<link rel="stylesheet" href="fonts.css">
<link rel="stylesheet" href="material.indigo-blue.min.css">
<script type="text/babel" src="admins.js"></script>
<script>
$(document).ready(function() {
$.ajax({
url: 'myUrlServlet',
type: 'POST',
data: "function=getAdmins",
dataType: "json",
success: function(data){
AdminsBoxRender.setAdminsArray(data);
}
});
});
</script>
</head>
<body>
<div id="adminsContent"></div>
</body>
私が手にエラーがAdminsBoxRenderが定義されていないです。
私は間違っていますか?
ありがとうございます。
お返事ありがとうございます。反応コンポーネント内のメソッド "componenDidMount"では、私は同じエラーを受けます。あなたの最後の発言から、私は反応する外のコンポーネントにアクセスできないと思いましたか? – JSP749
外部からアクセスできますが、コンポーネントがまだレンダリングされていない可能性があるため、安全ではありません。レンダリングされたコンポーネントをウィンドウオブジェクトに添付することができます。そうすればどこにでもアクセスできます。 – QoP
レンダリングされたコンポーネントをウィンドウオブジェクトにアタッチするとうまくいきました。ありがとうございました! – JSP749