componentDidMount에서 반응 구성 요소의 자체 인스턴스에 액세스

조셉 미카 일 로프

얘들 아 내 반응 구성 요소 (ModalAddElement && ModalEditElement)에 리스너를 연결하려고하는데 지금까지 jQuery로 수행했지만 React의 방법을 찾고 있습니다. 부모 구성 요소의 두 인스턴스가 있습니다. 내 구성 요소 :

var DiaryTable = React.createClass({displayName: "DiaryTable",
    getInitialState: function() {
        return {
            items : this.props.item,
            globalChecked:false,
            checkedCounter:this.props.checkedCounter
        };
    },


onWheelHandler:function (e) {
      e.bind('mousewheel', function (e) {
            var evt = window.event || e;
            evt = evt.originalEvent ? evt.originalEvent : evt;
            var delta = evt.detail ? evt.detail * (-40) : evt.wheelDelta;
            if (delta > 0) {
                this.value = parseInt(this.value) + 1;
            }
            else {
                this.value = parseInt(this.value) - 1;
            }
        });
    },

    .... more code here

    render: function(){
            var arrayItems =  this.state.items.map(function (item,i) {
                return (
                    <tr key={i}>
                        <td><input type="checkbox"  checked={item.selected} onClick={this.handleChecked.bind(this,i)}/></td>
                        <td><FormattedDate value={item.start}/></td>
                        <td><FormattedDate value={item.end}/></td>
                        <td className="editable">{Number(item.hours)}</td>
                        <td>
                            <ModalEditElement items={this.state.items} onEditElement={this.handleEditElement} index={i} checked={this.state.globalChecked} ></ModalEditElement>
                        </td>
                    </tr>
                );
            }.bind(this));
            return (
                <table className="myTable">
                    <thead>
                    <tr>
                        <th><input type="checkbox" onClick={this.checkAll} checked={this.state.globalChecked}/></th>
                        <th>Start Date:</th>
                        <th>End Date:</th>
                        <th id="hoursField">Hours:</th>
                        <th id="editField">Edit:</th>
                    </tr>
                    </thead>
                    <tbody>
                    {arrayItems}
                    </tbody>
                    <tfoot>
                    <tr>
                        <td colSpan="4">
                            <span className="addButtonDisplay"><ModalAddElement onWheel={this.onWheelHandler} onAddElement={this.handleAddElement} items={this.state.items} checked={this.state.globalChecked} ></ModalAddElement></span>
                            <button className="myButton" onClick={this.remove}>Remove period</button>
                            <button className="myButton" disabled={this.props.result.item.length === 0} onClick={this.setResult}>Set result from merge</button>
                        </td>
                    </tr>
                    </tfoot>
                </table>
            );
        }
     });

그렇다면 'jQuery (document.body.children [0] .children [0])'를 대체하려면 무엇을 사용해야합니까? DiaryTable의 두 인스턴스를 모두 일치시킬 수 있습니까? ModalAddElement && ModalEditElement를 신청하려면 리스너가 필요합니까?

Diogo Cunha

반응 이벤트 시스템을 확인해야 합니다 .

React는 SyntheticEvents 인스턴스를 생성합니다. 이러한 인스턴스는 브라우저의 네이티브 이벤트를 둘러싼 크로스 브라우저 래퍼이며 브라우저의 네이티브 이벤트와 동일한 인터페이스를 제공합니다.

반응에서는 올바른 이벤트 이름을 가진 소품으로 전달하여 이벤트를 첨부 할 수 있습니다. 귀하의 경우 이벤트 이름은 onWheel 입니다.

구성 요소에서 렌더링하는 것에 이벤트를 연결할 수 있습니다. 예를 들어 div를 렌더링한다고 가정하면 이벤트를 연결하는 코드는 다음과 같습니다.

<div onWheel={this.onWheelHandler}>
...
</div>

핸들러는 SyntheticEvent를 매개 변수로 수신하고 다음과 같이 할 수 있습니다.

onWheelHandler: function (e) {
  var evt = window.event || e
  evt = evt.originalEvent ? evt.originalEvent : evt;
  var delta = evt.detail ? evt.detail * (-40) : evt.wheelDelta
  if (delta > 0) {
     this.value = parseInt(this.value) + 1;
  }
  else {
     this.value = parseInt(this.value) - 1;
  }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

주 구성 요소의 액세스 하위 구성 요소 속성에 반응

분류에서Dev

별도의 파일에서 반응 구성 요소의 소품에 액세스

분류에서Dev

부모 반응 구성 요소에서 자식 반응 구성 요소의 데이터에 액세스하는 방법

분류에서Dev

반응의 고차 구성 요소에서 인스턴스 메서드 호출

분류에서Dev

반응에서 구성 요소 상태에 액세스

분류에서Dev

자체에서 웹 구성 요소 요소에 액세스

분류에서Dev

반응 구성 요소 외부의 auth0provider에서 액세스 토큰

분류에서Dev

자체에 대한 단위 테스트 반응 구성 요소

분류에서Dev

반응 테이블 구성 요소의 열에서 행 인덱스에 액세스하는 방법

분류에서Dev

반응 생성자 내부의 소품에 액세스

분류에서Dev

개체 인스턴스의 특성 필드에 액세스

분류에서Dev

자식 구성 요소에서 부모의 useEffect에 액세스

분류에서Dev

사용중인 기능 구성 요소 액세스 상태에 반응

분류에서Dev

Typescript의 반응 라우터 구성 요소에 서비스 인스턴스를 전달하는 방법

분류에서Dev

반응 구성 요소에 개체 배열 파일에 액세스하는 방법은 무엇입니까?

분류에서Dev

인스턴스에서 구성 요소에 액세스하는 VueJS

분류에서Dev

새 탭에서 반응 구성 요소의 동일한 인스턴스를 여는 방법이 있습니까?

분류에서Dev

자바 스크립트에서 반응 구성 요소 호출

분류에서Dev

인스턴스화 된 구성 요소에서 대상 액세스

분류에서Dev

Unity에서 인스턴스화 된 객체의 구성 요소에 액세스하려면 어떻게해야합니까?

분류에서Dev

반응 라우터의 app.js에서 구성 요소 매개 변수에 액세스하는 방법

분류에서Dev

기능 구성 요소로 렌더링 후 액세스 상태에 반응

분류에서Dev

WinRT C ++ 구성 요소에서 COM 개체에 액세스

분류에서Dev

비 반응 구성 요소의 저장소에 액세스 할 수 없습니다.

분류에서Dev

매니페스트에 선언 된 구성 요소 (broadcastreceiver)의 인스턴스에 액세스하는 방법

분류에서Dev

탭 구성 요소 내부의 구성 요소에 액세스

분류에서Dev

Stateful 자식 구성 요소에서 Props 오류에 액세스

분류에서Dev

반응의 다른 하위 구성 요소에서 한 하위 구성 요소의 값에 액세스하고 싶습니다.

분류에서Dev

Angular 9의 자식 구성 요소에서 부모 구성 요소에 액세스하는 방법

Related 관련 기사

  1. 1

    주 구성 요소의 액세스 하위 구성 요소 속성에 반응

  2. 2

    별도의 파일에서 반응 구성 요소의 소품에 액세스

  3. 3

    부모 반응 구성 요소에서 자식 반응 구성 요소의 데이터에 액세스하는 방법

  4. 4

    반응의 고차 구성 요소에서 인스턴스 메서드 호출

  5. 5

    반응에서 구성 요소 상태에 액세스

  6. 6

    자체에서 웹 구성 요소 요소에 액세스

  7. 7

    반응 구성 요소 외부의 auth0provider에서 액세스 토큰

  8. 8

    자체에 대한 단위 테스트 반응 구성 요소

  9. 9

    반응 테이블 구성 요소의 열에서 행 인덱스에 액세스하는 방법

  10. 10

    반응 생성자 내부의 소품에 액세스

  11. 11

    개체 인스턴스의 특성 필드에 액세스

  12. 12

    자식 구성 요소에서 부모의 useEffect에 액세스

  13. 13

    사용중인 기능 구성 요소 액세스 상태에 반응

  14. 14

    Typescript의 반응 라우터 구성 요소에 서비스 인스턴스를 전달하는 방법

  15. 15

    반응 구성 요소에 개체 배열 파일에 액세스하는 방법은 무엇입니까?

  16. 16

    인스턴스에서 구성 요소에 액세스하는 VueJS

  17. 17

    새 탭에서 반응 구성 요소의 동일한 인스턴스를 여는 방법이 있습니까?

  18. 18

    자바 스크립트에서 반응 구성 요소 호출

  19. 19

    인스턴스화 된 구성 요소에서 대상 액세스

  20. 20

    Unity에서 인스턴스화 된 객체의 구성 요소에 액세스하려면 어떻게해야합니까?

  21. 21

    반응 라우터의 app.js에서 구성 요소 매개 변수에 액세스하는 방법

  22. 22

    기능 구성 요소로 렌더링 후 액세스 상태에 반응

  23. 23

    WinRT C ++ 구성 요소에서 COM 개체에 액세스

  24. 24

    비 반응 구성 요소의 저장소에 액세스 할 수 없습니다.

  25. 25

    매니페스트에 선언 된 구성 요소 (broadcastreceiver)의 인스턴스에 액세스하는 방법

  26. 26

    탭 구성 요소 내부의 구성 요소에 액세스

  27. 27

    Stateful 자식 구성 요소에서 Props 오류에 액세스

  28. 28

    반응의 다른 하위 구성 요소에서 한 하위 구성 요소의 값에 액세스하고 싶습니다.

  29. 29

    Angular 9의 자식 구성 요소에서 부모 구성 요소에 액세스하는 방법

뜨겁다태그

보관