Странное поведение поплавковых указателей [дубликат]

реквизиты (short для «properties») и состояние - это обычные объекты JavaScript. Хотя оба содержат информацию, которая влияет на вывод рендера, они различаются одним важным способом: реквизит передается компоненту (аналогично параметрам функции), тогда как состояние управляется внутри компонента (подобно переменным, объявленным внутри функции).

Таким образом, просто состояние ограничено вашим текущим компонентом, но реквизит может быть передан любому компоненту, который вы хотите ... Вы можете передать состояние текущего компонента в качестве поддержки другим компонентам ...

Также в React у нас есть компоненты без состояния, у которых есть только реквизит, а не внутреннее состояние ...

Пример ниже показывает, как они работают в вашем приложении:

Родитель ( state-full component):

class SuperClock extends React.Component {

  constructor(props) {
    super(props);
    this.state = {name: "Alireza", date: new Date().toLocaleTimeString()};
  }

  render() {
    return (
      <div>
        <Clock name={this.state.name} date={this.state.date} />
      </div>
    );
  }
}

Ребенок (компонент без учета состояния):

const Clock = ({name}, {date}) => (
    <div>
      <h1>{`Hi ${name}`}.</h1>
      <h2>{`It is ${date}`}.</h2>
    </div>
);
0
задан P_Andre 15 January 2019 в 15:09
поделиться