这是反应组件的完整代码:
import React from 'react';
class Chat extends React.Component {
handleSubmit(e) {
e.preventDefault();
this.props.addMessage(this.props.room.id, this.state.message);
this.setState({ message: '' });
}
handleMsgChange(event) {
this.setState({ message: event.target.value });
}
render() {
return (
<div>
<div>{this.props.room.messages.toString()}</div>
<form onSubmit={this.handleSubmit}>
<input
onChange={this.handleMsgChange}
value={this.state.message}
type="text" placeholder="Your message"
/>
<input type="submit" value="Send" />
</form>
</div>
);
}
}
Chat.propTypes = {
addMessage: React.PropTypes.func,
room: React.PropTypes.Object,
};
export default Chat;
我收到错误:
道具类型失败:聊天:道具类型room
无效;它必须是一个函数,通常来自React.PropTypes。
答案 0 :(得分:2)
将room: React.PropTypes.Object
更改为room: React.PropTypes.object
。您已输错,object
属性应以小写 o 开头。