React.js에 초보자입니다. 인증 및 일부 구성 요소가있는 작은 응용 프로그램을 만들고 있습니다. 응용 프로그램을 일부 구성 요소로 나누었습니다. 먼저 App.jsx입니다 :React.js의 구성 요소 내보내기/가져 오기
var React = require('react');
var ReactDOM = require('react-dom');
var Login = require('./Login.jsx');
var App = React.createClass({
getInitialState: function() {
return {
url: 'url-to-my-API'
};
},
render: function() {
if (typeof localStorage !== 'undefined') {
return (
<Login url={this.state.url} />
)
} else {
alert('Browser is not supported. Browser must support localStorage.')
return (
<div />
)
}
}});
module.exports = App;
Login.jsx 구성 요소가 권한 부여 사용자 양식을 구성하고 사용자에 대한 새 구성 요소를로드 버튼을 제출합니다. 이 구성 요소는 메뉴 및 로그 아웃 버튼으로 구성됩니다. 사용자가 로그 아웃 버튼을 클릭하면 logout.jsx 구성 요소에 onClick 이벤트가 발생합니다. Logout.jsx은 다음과 같습니다
Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components).
Uncaught Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
당신이 날은 내가 뭘 잘못이 도와 드릴 : 사용자가 클릭이이 반환 버튼을 로그 아웃
var React = require('react');
var ReactDOM = require('react-dom');
var Login = require('./Login.jsx');
var Logout = React.createClass({
getInitialState: function() {
return {
url: this.props.url,
login: false
}
},
logout: function(e) {
localStorage.setItem('username', '');
localStorage.setItem('token', '');
this.backToLoginPage();
document.getElementById('appContent').innerHTML = '';
},
backToLoginPage: function() {
this.setState({
login: true
});
},
componentDidUpdate: function() {
if (this.state.login) {
ReactDOM.render(<Login url={localStorage.getItem('url')} />, document.getElementById('appLogin'));
}
},
render: function() {
if (this.state.login) {
return (
<span />
)
} else {
return (
<button name="logout" className="logoutButton btn primary" onClick={this.logout}>Logout</button>
)
}
}});
module.exports = Logout;
경우?
정말 고마워요.
너는 webpack과 babel을 사용하고 있습니까? –
Štefan Ondáš [채팅] (http://chat.stackoverflow.com/rooms/115687/uncaught-error-invariant-violation-element-type-is-invalid-expected-a-string) –