javascript - 在父母之前反应孩子道具渲染?
问题描述
我正在关注 Udemy 上 Stephen Grider 的 Simple Redux Simple Starter。基本上,我需要做的就是将来自 youtube api 的视频数量返回到 DOM。下图 input 的正下方应该{props.videos.length}
在 video_list.js 中调用时显示 5,但总是返回 0。是先渲染 child prop,还是 child 的 state 没有正确更新?请注意,第一个控制台日志来自 video_list,第二个来自 App 类中的 index.js。
索引.js
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import YTSearch from 'youtube-api-search';
import VideoList from './components/video_list';
const API_KEY = 'XXXXXXXXXXXXXXX';
class App extends Component {
constructor(props) {
super(props);
this.state = { videos: [] };
YTSearch({key: API_KEY, term: 'surfboards'}, (videos) => {
console.log(videos);
this.setState = ({ videos });
});
}
render() {
return (
<div>
<VideoList videos={this.state.videos} />
</div>
);
}
}
ReactDOM.render(<App />, document.querySelector('.container'));
video_list.js
import React from 'react';
const VideoList = (props) => {
console.log(props)
return (
<ul className='col-md-4 list-group'>
{props.videos.length}
</ul>
}
};
export default VideoList;
解决方案
您正在覆盖该setState
功能。删除=
来调用它。
YTSearch({key: API_KEY, term: 'surfboards'}, (videos) => {
this.setState({ videos });
});
推荐阅读
- flutter - Syncfusion cutom 小部件 onchanged 参数不带 void 函数 onPressed
- python - 我想用 python 3.9 和 Spyne 2.13.16 发送带有自定义元素标签的响应 xml
- python - 与从字典中查找字谜有关的 Python 问题
- postgresql - 使用 SQLAlchemy/PostgreSQL 使用 Flask 应用程序进行数据库查询时,Gunicorn 总是超时
- debugging - 使用用户空间进程生成 CPU 软锁定
- reactjs - 重新加载页面时的加载屏幕
- javascript - 如何更新状态变量内容?
- c++ - 创建模板类的对象后初始化数组时出现分段错误
- java - 为什么在elasticsearch慢查询中take_millis和超时之间有很多时间成本
- node.js - Firebase 函数调用者权限如何工作?