점진적 onClick을 위해 React에서 Child에서 Parent로 소품을 어떻게 전달합니까?

토마스 남

export default class App extends React.Component {
  constructor() {
    super();
    this.state = {
      todos: 5
    };
  }

  handleClick = () => {
    this.setState({ todos: this.state.todos + 1 });
  };

  render() {
    return (
      <div className="App">
        <h1>ToDo List</h1>
        <p>Just keep giving me things to do</p>
        <p>I still have {this.state.todos} things to do</p>
        <AddTodo todos={this.state.todos} handleClick={this.handleClick} />
      </div>
    );
  }
}

<p>I still have {this.state.todos} things to do</p>하위 구성 요소에서 버튼을 클릭 할 때마다 1 씩 증가하도록 상위에서 업데이트하려고합니다 . 내가 무엇을 놓치고 있습니까? 오류가 발생하지 않지만 작동하지 않습니다.

import React from "react";

export default function AddTodo(handleClick) {
  return (
    <div className="AddTodo">
      <button onClick={() => handleClick}>Add Another</button>
    </div>
  );
}
줄리안 클라인

Props는 기능적 구성 요소에 전달되는 첫 번째 값이며, 객체이며 여기에서 구조를 해제해야 handleClick합니다.

export default function AddTodo({ handleClick }) {
  return (
    <div className="AddTodo">
      <button onClick={handleClick}>Add Another</button>
    </div>
  );
}

또한 핸들 클릭 기능을 이렇게 변경하십시오.

handleClick = () => {
    this.setState(({ todos }) => ({ todos: todos + 1 }));
  };

실제 사례

const AddTodo = ({ onClick }) => (
  <div className="AddTodo">
    <button onClick={onClick}>Add Another</button>
  </div>
);

const App = () => {
  const [todos, setTodos] = React.useState(5);

  const onClick = () => {
    setTodos((oldTodos) => oldTodos + 1);
  };

  return (
    <div className="App">
      <h1>ToDo List</h1>
      <p>Just keep giving me things to do</p>
      <p>I still have {todos} things to do</p>
      <AddTodo todos={todos} onClick={onClick} />
    </div>
  );
}

ReactDOM.render(<App />, document.getElementById('root'))
<script src="https://unpkg.com/react@17/umd/react.production.min.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js" crossorigin></script>
<div id="root"></div>

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

부모로부터받은 컴포넌트에 소품을 소품으로 전달하려면 어떻게해야합니까?

분류에서Dev

React의 기능적 구성 요소에 추가 소품을 어떻게 전달합니까?

분류에서Dev

React에서 목록을 어떻게 점진적으로 업데이트합니까?

분류에서Dev

Codeigniter에서 JavaScript로 base_url을 안정적으로 전달하려면 어떻게해야합니까?

분류에서Dev

BottomTabs에서 Stack.Screen headerTitle로 이름 소품을 어떻게 전달합니까?

분류에서Dev

메서드에 두 점을 어떻게 전달합니까?

분류에서Dev

React : 상태 컴포넌트에 소품을 어떻게 전달합니까?

분류에서Dev

Gatsby (React JS)에서 논리적 진술을 어떻게 해결합니까?

분류에서Dev

AEXML로 xml 구문 분석을 위해 NSBundle에 URL을 어떻게 전달합니까?

분류에서Dev

App.js에서 내 로그인 구성 요소로 소품을 어떻게 전달할 수 있습니까?

분류에서Dev

Netbeans의 JTable에 2D 배열을 효율적으로 전달하려면 어떻게해야합니까?

분류에서Dev

DOM에 반영되도록 소품으로 전달 된 배열에서 객체를 반응 적으로 제거하려면 어떻게해야합니까?

분류에서Dev

ionic 4 html 파일의 i = index 값을 메소드에서 사용하기 위해 .ts 파일로 어떻게 전달합니까?

분류에서Dev

Android에서 결합 된 URL을 매개 변수로 전달하려면 어떻게해야합니까?

분류에서Dev

Android에서 결합 된 URL을 매개 변수로 전달하려면 어떻게해야합니까?

분류에서Dev

객체 배열을 소품으로 컴포넌트에 전달한 다음 배열의 멤버를 소품으로 중첩 된 컴포넌트에 전달하려면 어떻게해야합니까?

분류에서Dev

ReactJS의 소품을 기반으로 자산 폴더에서 이미지를 동적으로로드하려면 어떻게해야합니까?

분류에서Dev

TypeScript에서 MaterialUI 그리드 크기 소품의 값을 어떻게 동적으로 설정합니까?

분류에서Dev

내 목적을 위해 Android에서 프로세스를 예약하려면 어떻게해야합니까?

분류에서Dev

Python 클래스에서 암시 적 자체 전달을 제거하려면 어떻게해야합니까?

분류에서Dev

새 UITableViewCell을 대기열에서 빼기 위해 Swift에서 Cocoa로 클래스를 어떻게 전달합니까?

분류에서Dev

WebApi Odata에서 개체 목록을 매개 변수로 전달하려면 어떻게해야합니까?

분류에서Dev

보기에서 컨트롤러로 목록을 전달 (저장)하려면 어떻게해야합니까?

분류에서Dev

기본 클래스 C #의 한 하위 클래스에서 다른 하위 클래스로 값을 전달하려면 어떻게해야합니까?

분류에서Dev

특정 확장자를 가진 파일을 한 위치에서 다른 위치로 일괄 적으로 이동하려면 어떻게해야합니까?

분류에서Dev

AppServiceProvider를 통해 탐색에서 사용자 프로필 사진을 어떻게 전달합니까? 라 라벨 -5

분류에서Dev

API에서 요청을 만들기 위해 HTTP 헤더를 어떻게 전달합니까?

분류에서Dev

기능을 위해 d3 요소에 대한 참조를 어떻게 전달합니까?

분류에서Dev

vue.js의 템플릿 내의 함수 내에서 소품을 어떻게 전달합니까?

Related 관련 기사

  1. 1

    부모로부터받은 컴포넌트에 소품을 소품으로 전달하려면 어떻게해야합니까?

  2. 2

    React의 기능적 구성 요소에 추가 소품을 어떻게 전달합니까?

  3. 3

    React에서 목록을 어떻게 점진적으로 업데이트합니까?

  4. 4

    Codeigniter에서 JavaScript로 base_url을 안정적으로 전달하려면 어떻게해야합니까?

  5. 5

    BottomTabs에서 Stack.Screen headerTitle로 이름 소품을 어떻게 전달합니까?

  6. 6

    메서드에 두 점을 어떻게 전달합니까?

  7. 7

    React : 상태 컴포넌트에 소품을 어떻게 전달합니까?

  8. 8

    Gatsby (React JS)에서 논리적 진술을 어떻게 해결합니까?

  9. 9

    AEXML로 xml 구문 분석을 위해 NSBundle에 URL을 어떻게 전달합니까?

  10. 10

    App.js에서 내 로그인 구성 요소로 소품을 어떻게 전달할 수 있습니까?

  11. 11

    Netbeans의 JTable에 2D 배열을 효율적으로 전달하려면 어떻게해야합니까?

  12. 12

    DOM에 반영되도록 소품으로 전달 된 배열에서 객체를 반응 적으로 제거하려면 어떻게해야합니까?

  13. 13

    ionic 4 html 파일의 i = index 값을 메소드에서 사용하기 위해 .ts 파일로 어떻게 전달합니까?

  14. 14

    Android에서 결합 된 URL을 매개 변수로 전달하려면 어떻게해야합니까?

  15. 15

    Android에서 결합 된 URL을 매개 변수로 전달하려면 어떻게해야합니까?

  16. 16

    객체 배열을 소품으로 컴포넌트에 전달한 다음 배열의 멤버를 소품으로 중첩 된 컴포넌트에 전달하려면 어떻게해야합니까?

  17. 17

    ReactJS의 소품을 기반으로 자산 폴더에서 이미지를 동적으로로드하려면 어떻게해야합니까?

  18. 18

    TypeScript에서 MaterialUI 그리드 크기 소품의 값을 어떻게 동적으로 설정합니까?

  19. 19

    내 목적을 위해 Android에서 프로세스를 예약하려면 어떻게해야합니까?

  20. 20

    Python 클래스에서 암시 적 자체 전달을 제거하려면 어떻게해야합니까?

  21. 21

    새 UITableViewCell을 대기열에서 빼기 위해 Swift에서 Cocoa로 클래스를 어떻게 전달합니까?

  22. 22

    WebApi Odata에서 개체 목록을 매개 변수로 전달하려면 어떻게해야합니까?

  23. 23

    보기에서 컨트롤러로 목록을 전달 (저장)하려면 어떻게해야합니까?

  24. 24

    기본 클래스 C #의 한 하위 클래스에서 다른 하위 클래스로 값을 전달하려면 어떻게해야합니까?

  25. 25

    특정 확장자를 가진 파일을 한 위치에서 다른 위치로 일괄 적으로 이동하려면 어떻게해야합니까?

  26. 26

    AppServiceProvider를 통해 탐색에서 사용자 프로필 사진을 어떻게 전달합니까? 라 라벨 -5

  27. 27

    API에서 요청을 만들기 위해 HTTP 헤더를 어떻게 전달합니까?

  28. 28

    기능을 위해 d3 요소에 대한 참조를 어떻게 전달합니까?

  29. 29

    vue.js의 템플릿 내의 함수 내에서 소품을 어떻게 전달합니까?

뜨겁다태그

보관