Я хочу изменить некоторые внутренние свойства реквизита.Реквизиты утверждают, что они неизменны, но когда я изменяю значение, значение состояния родителя меняется. Я читал, что реквизиты являются неизменяемыми.Но изменение значения отражается в родительском.
class ParentComp extends React.Component {
constructor(props) {
super(props);
let property = {someProperty:'ABCD'};
this.state={
myState: property
}
}
render() {
return(
<div>
Parent:{JSON.stringify(this.state.myState)}
<ChildComp pState={this.state.myState} />
</div>
);
}
}
class ChildComp extends React.Component {
render() {
this.props.pState.someProperty = '1234';
return(
<div>
Child:{JSON.stringify(this.props.pState)}
</div>
);
}
}
В конце я вижу, что оба значения изменены на 1234. В онлайн-скриптах это работает как ожидалось (то есть, родительское значение не изменилось.).Но в моем проекте родительский объект изменяется.
Как мне добиться этого сценария использования, в котором я хочу изменить некоторые свойства в реквизитах, а не отражать их в состоянии родителя?