реквизиты (short для «properties») и состояние - это обычные объекты JavaScript. Хотя оба содержат информацию, которая влияет на вывод рендера, они различаются одним важным способом: реквизит передается компоненту (аналогично параметрам функции), тогда как состояние управляется внутри компонента (подобно переменным, объявленным внутри функции).
blockquote>Таким образом, просто состояние ограничено вашим текущим компонентом, но реквизит может быть передан любому компоненту, который вы хотите ... Вы можете передать состояние текущего компонента в качестве поддержки другим компонентам ...
Также в 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> );