美文网首页
单一事实来源

单一事实来源

作者: SingleDiego | 来源:发表于2019-08-01 22:42 被阅读0次

单一事实来源(Single Source of Truth)

student.jsx

import React, { Component } from 'react';


class Student extends Component{
  
    render() {
      return (
        <table>
          <tbody>
            <tr>
              <td>name: {this.props.student.name}</td>
              <td>age: {this.props.student.age}</td>
              <td>
              <button 
                onClick={() => this.props.onDelete(this.props.student)}
              >
                Delete
              </button>
              <button 
                onClick={() => this.props.onGrow(this.props.student)}
              >
                Grow
              </button>
              </td>
            </tr>
          </tbody>
        </table>
      );
    };
  }
 
export default Student;

students.jsx

import React, { Component } from 'react';
import Student from './student';


class Students extends Component{
    state = {
      students: [
        {id:1, name:'tom', age:12},
        {id:2, name:'jim', age:13},
        {id:3, name:'tim', age:14},
      ]
    };
  
    handleDelete = (student) => {
      const students = this.state.students.filter(s => 
        s.id !== student.id);
      this.setState({students});
    };

    handleGrow = (student) => {
      let students = [...this.state.students];
      let index = students.indexOf(student);
      students[index].age += 1;
      this.setState({students});
    };
  
    render() {
      return(
        <div>
          {this.state.students.map(student => 
            <Student 
              key={student.id} 
              student={student}
              onDelete={this.handleDelete}
              onGrow={this.handleGrow}
            />
          )}
        </div>
      );
    };
  }
  
export default Students;

上面例子中,所有 student 子组件的数据应该来自于父组件 studentsstate;子组件无需拥有自己的 state

要修改子组件的数据,应当发起事件到父组件,用 setState 修改相应的 state

相关文章

  • 单一事实来源

    单一事实来源(Single Source of Truth) student.jsx: students.jsx:...

  • 信息来源单一&存疑

    1.大多数骗术都有两个特点——要你支付、信息来源单一。这么多骗术,无论怎么包装,怎么欺骗你的系统1(感性),最终目...

  • iOS架构

    Model 定义一个model层的最重要的理由是,它为我们的程序提供了一个表述事实的单一来源,这会让逻辑清晰,行为...

  • 74.加班

    共性问题 主要为收入来源单一、增长或有水分;退出表填写错误;精准贷款用途堪忧;负债存疑。 1、收入来源单一、增长或...

  • 《事实》之八 单一视角本能

    我们非常喜欢简单的想法,也欣赏洞见真相的时刻,当我们有了一个简单的想法,并发现它可以解释很多事情的时侯,我们会非常...

  • 标经理收藏单一来源采购项目常见问题集锦

    单一来源采购,是政府采购的主要采购方式之一。笔者结合工作经验,梳理了单一来源采购项目在实务操作中的几类常见问题,与...

  • 收入来源单一有多可怕?

    想象这样一种情况:有一天离职了,现有的赚钱技能根本用不上了,怎么养活自己? 这意味着收入断了,市场价值为零,生活从...

  • 12月29

    今天听了刘润老师关于事实和观点的课程. 事实要尊重. 有时候常常把自己观点当作事实抢加给他人. 就像发单一样.王婆...

  • 你完全可以有3种收入,何必只拘泥于上班的工资性收入?

    作者 l 石小柴 来源 l 石小柴(ID:shixiaochai520) 1, 大部人的收入来源自单一的工资性收入...

  • 投资的那些事儿

    第五篇 为什么要做好资产配置? 资产配置的本质是组合投资,分散风险,核心是不过于倚重单一资产。事实上,没有任何单一...

网友评论

      本文标题:单一事实来源

      本文链接:https://www.haomeiwen.com/subject/xfuhdctx.html