cimonlebedev
@cimonlebedev

Как обрабатывать события в map React?

Похожие вопросы есть но без ответа.

handlePopup=(e)=>{
        alert(123)
    };
    render(){
        return(
            <div className="posts">
                {this.props.articles.map(function(article){
                    return <div key={article.pid} className="posts__block">
                        <a href="#" className="posts__block__image">
                            <img src={article.src} alt={article.pid} />
                            <button
                                onClick={this.handlePopup.bind(this)}>sd</button>
                        </a>
                    </div>;
                })}
            </div>
        )
    }


Почему onClick={this.handlePopup.bind(this)} не срабатывает и как исправить?
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
  • cimonlebedev
    @cimonlebedev
    Тут всё просто оказалось надо просто index задать доп аргументом
    handlePopup=()=>{
            alert(123)
        };
    
        render(){
            return(
                <div className="posts">
                    {this.props.articles.map((article, index)=>{
                        if(index !== 0){
                            return <div key={article.pid} className="posts__block">
                                <a href="#" className="posts__block__image" onClick={this.handlePopup.bind(this)}>
                                    <img src={article.src} alt={article.pid} />
                                    {index}
                                </a>
                            </div>;
                        }
                    })}
                </div>
            )
        }
    Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы