我正在使用React,这是我的第一次,我需要知道这些错误是什么以及如何解决它
app/app.js 21:49 error 'socket' is missing in props validation for App react/prop-types 22:47 error 'room' is missing in props validation for App react/prop-types 23:47 error 'mode' is missing in props validation for App react/prop-types 24:47 error 'user' is missing in props validation for App react/prop-types 26:32 error 'socket' is missing in props validation for App react/prop-types 26:57 error 'room' is missing in props validation for App react/prop-types 26:80 error 'mode' is missing in props validation for App react/prop-types 26:103 error 'user' is missing in props validation for App react/prop-types
const query = qs.parse(location.search); const config = { socket : query.socket || 'http://10.28.10.85:1101/chat',room : query.room || 'BJTest',mode : query.mode || 'player',user : query.user || 'Alberto',}; class App extends React.Component { constructor (props) { super(props); } render () { return (<div> <div><strong>Socket:</strong> {this.props.socket}</div> <div><strong>Room:</strong> {this.props.room}</div> <div><strong>Mode:</strong> {this.props.mode}</div> <div><strong>User:</strong> {this.props.user}</div> <hr /> <Chat socket={this.props.socket} room={this.props.room} mode={this.props.mode} user={this.props.user} /> </div>); } }
解决方法
我认为你需要定义在App和Chat组件中使用的proptypes.有关定义,请参见:
https://facebook.github.io/react/blog/2015/01/27/react-v0.13.0-beta-1.html#es6-classes.
例:
App.propTypes = { socket: React.PropTypes.string.isrequired,room: React.PropTypes.string.isrequired,mode: React.PropTypes.string.isrequired,user: React.PropTypes.string.isrequired };