簡體   English   中英

發送到另一個容器時刪除屬性元素

[英]removing an attribute element when sent to another container

我正在處理一個待辦事項列表。 當用戶單擊復選框時,它會出現在另一個容器中,但是當發生這種情況時,我希望該復選框消失。

import React from 'react';

class Todo extends React.Component {
  state = {
    checked: false,
  };

  handleCheck = () => {
    this.setState({
      checked: !this.state.checked,
    });
  };

  handleClick = () => {
    this.props.handlecompletedList(this.props.title);
  };

  render() {
    const { title } = this.props;
    return (
      <div className="ui checked checkbox">
        <input type="checkbox" checked={this.state.checked} onChange={this.handleCheck} onClick={this.handleClick} />
        <label>Completed {title}</label>
      </div>
    );
  }
}
export default Todo;
import React from 'react';
import Todo from './Todo';

const Active = props => {
  const { items, handleComplete } = props;

  return (
    <div id="activeList">
      <h2 className="position">Active</h2>
      <ul id="tasks">
        {items.map(item => {
          return <Todo key={item.id} handlecompletedList={handleComplete} title={item.title} />;
        })}
      </ul>
    </div>
  );
};
import React from 'react';
import Todo from './Todo';

const Completed = props => {
  const { completedItems } = props;

  return (
    <div id="completedList">
      <h2 className="position">Completed</h2>
      <ul id="tasks">
        {completedItems.map(item => {
          return <Todo key={item.id} title={item.title} />;
        })}
      </ul>
    </div>
  );
};
export default Completed;

active 是當前的待辦事項,當用戶單擊復選框時,它會出現在已完成的容器中。

Hannah, I think you should use state in the parent component and provide state and state change function to the children by props.

示例工作流程:

家長:

...
const [status, setStatus] = useState(0);  // status : 0
...
<child1 status={status} onChange={setStatus} />
<child2 status={status} onChange={setStatus} />
<child3 status={status} onChange={setStatus} />
...

child1 檢查輸入時調用props.onChange(1); //父狀態改變並重繪所有子:1

child2 檢查輸入時調用props.onChange(2); //父狀態改變並重繪所有子:2

child3:檢查輸入時調用props.onChange(3); //父狀態改變並重繪所有子:3

你應該像這樣制作組件。 那么我認為它會起作用。

暫無
暫無

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

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