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)} не срабатывает и как исправить?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 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
Похожие вопросы
New Med Solutions Москва
от 150 000 до 250 000 руб.
YLab Тольятти
от 70 000 до 130 000 руб.