簡體   English   中英

反應:使用子復選框來更新父組件的狀態

[英]React: Using Child checkbox to update Parent component's state

我有以下父項組件:

export class Parent extends Component {
  constructor(props) {
    super(props)
    state = {
      value: 0
    }  
  }
}

render() {
  return (
    <Child />
  )
}

還有以下子組件:

export class Parent extends Component {
  constructor(props) {
    super(props)
    state = {
      num: 0
    }  
  }
}

toggleCheckboxChange = () => {
   this.setState({ num: 5})
}

render() {
  return (
    <div>
      <label>
      {this.state.num}
      <input type="checkbox" onChange={this.toggleCheckboxChange}
       />
      </label>
    </div>
  )
}

我想用的復選框子狀態設置num到5,然后傳遞到家長的狀態value

最好的方法是什么?

就像我在評論中說的那樣,最簡單的方法是將狀態移到父級。

工作實例

import React, {Component} from 'react';
import {render} from 'react-dom';

class Parent extends Component {

    state = {
        value: 0
    }

    toggleCheckboxChange = ev => {
        this.setState({value: 5})
    }


    render() {
        return (
            <Child num={this.state.value} toggleCheckboxChange={this.toggleCheckboxChange}/>
        );
    }
}

function Child({num, toggleCheckboxChange}) {
    return (
        <div>
            <label>
                {num}
                <input type="checkbox" onChange={toggleCheckboxChange}
                />
            </label>
        </div>
    )
}

render(<Parent/>, document.getElementById('root'));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM