ReactJS - 模态在第一次点击时不起作用

克劳迪奥比塔尔

模态在第一次点击时不起作用。只能从第二次开始。有谁知道如何解决它?谢谢

注意:不必介意 jquery 的 append 部分是否丑陋,我稍后会修复它。

    import React, { Component } from 'react';
    import ReactDOM from 'react-dom';

    import DribbbleMoreInfo from './DribbbleMoreInfo';

    export default class Dribbble extends React.Component {
        constructor(props) {
        super(props);

    this.state = {
      hover: false,
      info: null
    };

    this.handleClick = this.handleClick.bind(this);

    }   

    handleClick() {   
      $('body').append('<div id="modal' + this.props.data.id + '" class="modal 
      fade" role="dialog"><div class="modal-dialog"><div class="modal-content">
     <div class="modal-header"><button type="button" class="close" data-dismiss="modal">&times;</button><img class="avatar img-circle" src="' + this.props.data.user.avatar_url + '"/><h3>' + this.props.data.user.name + '</h3></div><div class="modal-body"><p>' + this.props.data.description + '</p></div><div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">Close</button></div></div></div></div>');

     }

     render() {

    const shots = <li      
      className="box"
      data-toggle="modal"
      data-target={"#modal" + this.props.data.id}  
      onClick={this.handleClick}     
    >
        <div>
             <img className="cover" src={this.props.data.images.normal} />
             <div className="bar">
                <h2>{this.props.data.title}</h2>
                <span>{this.props.data.views_count}</span>           
                <i className="fa fa-eye fa-2x" aria-hidden="true"></i>           
             </div>
        </div>

    </li>;   

    return shots;
   }

下面的这段代码是父组件。也许了解子组件中发生的问题会很有用,我不知道。

import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import Waypoint from 'react-waypoint';
import Dribbble from './Dribbble';

export default class Dribbbles extends Component {
    constructor(props) {
    super(props);
       this.state = { page: 1, shots: [] };    
       this.getShots = this.getShots.bind(this);
    }

    componentDidMount() {
       this.getShots();
    }

   getShots() {
      this.setState({
      dataFetched: false
   })
   return $.getJSON('https://api.dribbble.com/v1/shots?page=' + 
   this.state.page +  '&access_token=41ff524ebca5e8d0bf5d6f9f2c611c1b0d224a1975ce37579326872c1e7900b4&callback=?')   

  .then((resp) => {
    var newShots = this.state.shots.concat(resp.data);       
    this.setState({        
      page: this.state.page + 1,
      shots: newShots,
      dataFetched:true
    });           
  });
}

render() {
  const shots = this.state.shots.map((data, i) => {
  return <Dribbble data={data} key={i} />
});

return (
  <div>          
    <ul>{shots}</ul>
    {this.state.dataFetched && <Waypoint onEnter={this.getShots} />}
  </div>
);

} }

谢谢

克劳迪奥比塔尔

现在我正在使用 react-bootstrap 的模态,它运行良好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在第一次渲染和点击时渲染 useQuery?[ReactJS,graphql]

ReactJS中的按钮仅在第二次单击后才调用该函数,第一次单击后不起作用

搜索第一次点击不起作用

jQuery 在第一次点击时不起作用

onClick 事件在第一次点击时不起作用

JQuery 在第一次点击时不起作用,但在它之后工作

Onclick javascript 函数在第一次点击时不起作用

React Native Animated 在第一次点击时不起作用

Angular HTTP 在第一次点击时不起作用

我的jQuery代码在第一次点击时不起作用?

表单提交在第一次点击时不起作用

我的 Javascript 代码在第一次点击时不起作用

ReactJS 仅第一次重定向

ReactJS -> 为什么我的状态在第一次尝试时返回 undefined?

RecyclerView item onClickListener 在第一次点击时不起作用,但在第二次点击时起作用

模态窗口显示事件第一次不起作用

jQuery确认不起作用第一次点击

iOS:加载视图后,第一次点击不起作用

第一次将 JavaScript 用于不起作用的点击游戏

第一次点击视图在Android中不起作用

第一次点击按钮操作不起作用

Vue.js 3 按钮在第一次点击后不起作用

在 Android Studio 3.5 中使用 Kotlin 第一次点击按钮不起作用

反应状态没有正确更新。增加和减少功能在第一次点击时不起作用,但在后续点击后起作用

Javascript.为什么第一次点击不起作用但第二次点击正常?

MouseListener 第一次不起作用

输入.on('keydown')第一次不起作用

ExpandableListView setAlpha第一次不起作用

toggleClass()在第一次后不起作用