REACT

[생활코딩] 컴포넌트 이벤트 만들기2

worri-pi 2022. 1. 31. 23:37

 

생활코딩 https://www.youtube.com/watch?v=hR5H0OFksx8&list=PLuHgQVnccGMCRv6f8H9K5Xwsdyg4sFSdi&index=25 

 

 

 

TOC component 에서 원하는 주제를 클릭했을 때 mode를 welcom에서 read 로 변경해보자.

 

<TOC onChangePage={function(){
	this.setState({mode:'read'})
	}.bind(this)} 
	data={this.state.contents}>
</TOC>

 

 

a 태그를 onClick 을 했을 때, function이 실행되고 페이지가 바뀌지 않도록 event 객체를 받아 e.preventDefault() 를 실행한다. 그리고 this.props.onChangePage 라는 props를 실행하여 mode가 변경되도록 만든다.

 

TOC.js

import React, {Component} from 'react';

class TOC extends Component{
    render(){
        console.log('toc render');
        var lists =[];
        var data = this.props.data;
        var i =0;
        while(i < data.length){
            lists.push(
                <li key={data[i].id}>
                    <a 
                        href={"/content/"+data[i].id}
                        onClick={function(e){
                            e.preventDefault();
                            this.props.onChangePage();
                        }.bind(this)}
                    >{data[i].title}</a>
                </li>)
            i=i+1;
        }
        return(
            <nav>
              <ul>
                  {lists}
              </ul>
            </nav>
        );
    }
  }

  export default TOC;
728x90