Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js ReactJS-警告:未知道具_Node.js_Reactjs - Fatal编程技术网

Node.js ReactJS-警告:未知道具

Node.js ReactJS-警告:未知道具,node.js,reactjs,Node.js,Reactjs,我创建了一个使用youtube api搜索视频的简单应用程序,但当我使用npm start时,它没有给我任何错误,而是给我一个警告warning:Unknown proponItemSearchedon标签。从元件上拆下此道具。 在searchItem中(由listItem创建) 在div中(由listItem创建) 在列表项中 这是我的密码: var React = require('react'); var Item = require('./item.jsx'); var searchIt

我创建了一个使用youtube api搜索视频的简单应用程序,但当我使用
npm start
时,它没有给我任何错误,而是给我一个警告
warning:Unknown prop
onItemSearched
on标签。从元件上拆下此道具。
在searchItem中(由listItem创建)
在div中(由listItem创建)
在列表项中

这是我的密码:

var React = require('react');
var Item = require('./item.jsx');
var searchItem = React.createClass({
    getInitialState : function() {
        return {
            'queryString' : ''
        };
    },
    handleSearchClicked : function() {
        this.props.onItemSearched(this.state);

        this.setState({
            'queryString' : ''
        });
    },

    handleChangedNameItem : function(e) {
        e.preventDefault();
        this.setState({
            'queryString' : e.target.value
        });
    },

    render : function () {
        return (
            <div>
                <label>
                    <input id="query" type="text" onChange={this.handleChangedNameItem} value={this.state.queryString} placeholder="Search videos..." />
                    <button id="search-button" onClick={this.handleSearchClicked}>Search</button>
                </label>
            </div>
        );
    }
});
var React=require('React');
var Item=require('./Item.jsx');
var searchItem=React.createClass({
getInitialState:函数(){
返回{
“查询字符串”:”
};
},
handleSearchClicked:函数(){
this.props.onItemSearched(this.state);
这是我的国家({
“查询字符串”:”
});
},
HandleChangedName项目:功能(e){
e、 预防默认值();
这是我的国家({
“queryString”:e.target.value
});
},
渲染:函数(){
返回(
搜寻
);
}
});
这是我显示结果的列表项

var listItem = React.createClass({
    getInitialState : function() {
        return {
            'results' : []
        };
    },

    handleQuerySearch : function(query) {
        var req = gapi.client.youtube.search.list({
            'part': 'snippet',
            'type': 'video',
            'q' : encodeURIComponent(query).replace(/%20/g, "+"),
            'order' : 'viewCount',
        });

        //execute request
        req.execute((res) => {
            var results = res.result;
            this.setState({
                'results' : results.items
            });
        });
    },

    render : function() {
        var listItem = this.state.results.map( item => {
            return(
                <Item title={item.snippet.title} videoid={item.id.videoId} />
            );
        });

        return (
            <div>
                <searchItem onItemSearched={this.handleQuerySearch} />
                <div className="list-item">
                    {listItem}
                </div>
            </div>
        );
    }
});

module.exports = listItem;
var listItem=React.createClass({
getInitialState:函数(){
返回{
“结果”:[]
};
},
handleQuerySearch:函数(查询){
var req=gapi.client.youtube.search.list({
'部分':'片段',
“类型”:“视频”,
“q”:encodeURIComponent(查询)。替换(/%20/g,“+”),
“顺序”:“视图计数”,
});
//执行请求
请求执行((res)=>{
var结果=res.result;
这是我的国家({
“结果”:results.items
});
});
},
render:function(){
var listItem=this.state.results.map(项=>{
返回(
);
});
返回(
{listItem}
);
}
});
module.exports=列表项;

React希望所有组件都以类格式编写。这意味着名称需要大写

searchItem
需要是
searchItem

您还可以定义将在搜索项目上接收的道具

var SearchItem = React.createClass({
    propTypes: {
        onItemSearched: React.PropTypes.func
    },
    ....
});

这可能是什么警告?如果不知道问题出在哪里,就做不了什么;)你能更具体地解释一下吗,我是React的新手,tks u这么多,我已经将searchItem更改为searchItem,但它不起作用:(@m.Tae Awesome!名称更改(大写)是需要发生的,组件上指定的propTypes不是必需的,但它非常好,有助于定义组件。我建议你也继续使用它:):)我会注意到,tks somuch@John