小编r_c*_*ill的帖子

api响应后渲染反应组件

我有一个反应组件,我希望使用Dropbox api填充图像.api部分工作正常,但组件在数据通过之前呈现,因此数组为空.如何在组件具有所需数据之前延迟组件的渲染?

var fileList = [];
var images = [];
var imageSource = [];

class Foo extends React.Component {

 render(){
  dbx.filesListFolder({path: ''})
  .then(function(response) {
   fileList=response.entries;
   for(var i=0; i<fileList.length; i++){
    imageSource.push(fileList[0].path_lower);
   }
   console.log(imageSource);
   })

  for(var a=0; a<imageSource.length; a++){
   images.push(<img key={a} className='images'/>);
  }

  return (
   <div className="folioWrapper">
    {images}
   </div>
  );
 }
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

javascript dropbox-api reactjs

13
推荐指数
3
解决办法
2万
查看次数

onClick 渲染反应组件

我对反应非常陌生,但对其潜力感到兴奋。仍在掌握这一切的基础知识,因此任何解释将不胜感激。

我希望在用户单击“导航”组件中的按钮时呈现“关于”组件(目的是稍后切换此组件)。

我试图用我能想到的最简单的方式来做这件事,但这显然是非常错误的:

class Nav extends React.Component {

 renderAbout() {
  return (
   <About />
 );
 }

render() {
 return (
  <div className="Nav">
    <div className="Button-Container">
    <div className="Nav-Text About-Button">
      <h2 onClick={() => this.renderAbout()}>About</h2>
    </div>
    </div>
  </div>
  );
 }
}
Run Code Online (Sandbox Code Playgroud)

这是否与更新“关于”组件的“状态”有关?

提前致谢。

javascript reactjs

6
推荐指数
1
解决办法
1万
查看次数

React - 将道具传递给子onClick

我有一个从Dropbox中提取的图像和标题索引.我的目标是能够点击一个标题并加载一个特定的项目,但是现在我只是试图将点击的标题的数据传递给一个组件.

我在这里查看了React教程,文档和其他类似的问题(我担心这将被视为一个重复的问题),但我似乎无法找到一种方法来传递被点击的特定标题.我目前收到错误:无法读取undefined的属性'title'.

我已经设法通过console.log取出了特定的标题,并用所有标题填充了ProjectTitle组件,但我对这个看似简单的障碍感到难过.

谢谢

class ProjectTitle extends React.Component{
    render() {
        return <h1>{this.props.title}</h1>;
    }
}

class Index extends React.Component {
    constructor(){
        super();
        this.state = {
            imageSource: [],
            imageTitles: [],
        }
    }

    componentWillMount(){
        …
    }

    render(){
        if(!this.state.imageSource.length)
            return null;
        let titles = this.state.imageTitles.map((el, i) => <p>{el}</p>)
        let images = this.state.imageSource.map((el, i) =>

        <div className="imageContainer">
            <img key={i} className='images' src={el}/>
            <div className="imageTitle" onClick={() => 
                ProjectTitle.props.title(titles[i].props.children)}>{titles[i]}
            </div>
        </div>
        )

        return (
            <div className="wrapper">
                {images}
                <ProjectTitle />
            </div>

        );
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

5
推荐指数
1
解决办法
2341
查看次数

使用 .includes() 的 Javascript 'if' 语句

我有一个包含文件路径作为字符串的数组。我需要搜索这个数组并创建一个新数组,只包含那些包含某个单词的数组。我将如何创建包含“includes”方法的 if 语句?

到目前为止,这是我的代码:

var imagePaths = [...]

if(imagePaths.includes('index') === 'true'){
 ???
}
Run Code Online (Sandbox Code Playgroud)

先感谢您

javascript arrays

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×4

reactjs ×3

arrays ×1

dropbox-api ×1