Может кто-нибудь объяснить, что такое реквизит?
Я всегда читаю, что реквизит является атрибутом нашего компонента, но это бессмысленно, мы используем метод для этого реквизита вместо того, чтобы передавать их в качестве аргумента.
class App extends Component {
placeDeletedHandler = () => {
this.props.onDeletePlace();
};
...





Вы можете видеть props как некоторые параметры, которые вы передаете конструктору вашего класса (что на самом деле так). Дело в том, что эти свойства неизменяемы, поэтому они похожи на свойства вашего класса только для чтения.
Я попытаюсь объяснить, но я работаю с React, React-Native всего 3 месяца, поэтому он может быть неправильным / несовершенным (и несмотря на мой очень совершенный английский). Props используется, когда вам нужно передать что-то из родительского компонента в его дочерний компонент. Вы можете передавать состояния, функции ...
class ParentComponent extend React.Component {
constructor(props) {
super(props);
this.state = {
data: 'something'
};
}
render() {
return (
<ChildComponent
yourprop = {this.state.data}
/>
);
}
}
class ChildComponent extend React.Component {
render() {
/*you can destructure your prop here*/
const {
yourprop;
} = this.props;
return() {
<Text>{yourprop}</Text>
}
}
}
//or with functional component
const ChildComponent = (props) => {
const {
yourprop
} = props
return (
<Text>{yourprop}</Text>
);
};
Обратите внимание: если вы хотите обрабатывать значение родительского состояния в дочерних элементах, вам необходимо дополнительно передать функцию.
Свойства - это такие свойства, как атрибуты в тегах HTML. когда мы хотим передать данные компоненту, мы можем использовать реквизиты. Допустим, вы хотите передать имя дочернему компоненту, тогда вы можете передать это, например,
<Component data = {name} />
и в этом файле компонента вы можете получить его так, например
class App extends Component {
componentDidMount() // or any other function,render,constructor
{
let name=this.props.data
}
}
** и вы не можете изменить значение props в принимающем компоненте ** дайте мне знать, если вам нужно больше объяснений