失败的道具类型:聊天:道具类型`房间`无效;它必须是一个函数,通常来自React.PropTypes

时间:2016-08-19 11:30:47

标签: reactjs

这是反应组件的完整代码:

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。

1 个答案:

答案 0 :(得分:2)

room: React.PropTypes.Object更改为room: React.PropTypes.object。您已输错,object属性应以小写 o 开头。