Показывать и скрывать компоненты в ReactJs
Я изо всех сил пытался показать / скрыть компоненты в ReactJs в течение нескольких дней. Я пытаюсь показать («Записать (блоки)» - который должен быть скрыт от просмотра по умолчанию) и показан при нажатии на ссылки «редактировать» (при переключении скрывать / показывать для блоков «Читать») и скрывать их когда нажимаются кнопки «сохранить» или «отменить», я позабочусь о функции сохранения позже. На данный момент я просто пытаюсь показать / скрыть компонент, основанный на этом.
Ниже мой код:
class ProfileSettings extends React.Component {
render() {
return (
<div className="ProfileSettings">
<SettingsBlock className="Names" label="Name" link="name">
<p className="readOnlySettingField ReadNames">Hilal Agil<a href="#">Edit</a></p>
<div className="WriteNames">
<SubBlock label="First Name" placeholder="First Name" />
<SubBlock label="Middle Name" placeholder="Middle Name" />
<SubBlock label="Last Name" placeholder="Last Name" />
<p className="notice"><strong>Please note:</strong> You wont be able to change your name within the next 30 days.
Make sure not to add any unusual capitalization, punctuation, characters or random words.</p>
<button className="button small fill primary">Save Changes</button>
<button className="button small default">Cancel</button>
</div>
</SettingsBlock>
<SettingsBlock label="Username" link="username">
<p className="readOnlySettingField ReadUsername">www.squelo.com/hilarl<a href="#">Edit</a></p>
<div className="WriteUsername">
<p className="notice url">squelo.com/hilarl</p>
<Input placeholder="Username" classes="col-md-7" />
<p className="notice"><strong>Please note:</strong> Your username can only be changed once and should include your authentic name.</p>
<button className="button small fill primary">Save Changes</button>
<button className="button small default">Cancel</button>
</div>
</SettingsBlock>
<SettingsBlock label="Email" link="email">
<p className="readOnlySettingField ReadEmail">[email protected]<a href="#">Edit</a></p>
<div className="WriteEmail">
<Input placeholder="Email" classes="col-md-9" />
<p className="notice"><strong>Please note:</strong> Your username can only be changed once and should include your authentic name.</p>
<button className="button small fill primary">Save Changes</button>
<button className="button small default">Cancel</button>
</div>
</SettingsBlock>
<SettingsBlock className="Password" label="Password" link="password">
<p className="readOnlySettingField ReadPassword">Password last changed over a year ago<a href="#">Edit</a></p>
<div className="WritePassword">
<SubBlock label="Current" placeholder="Current" />
<SubBlock label="New" placeholder="New" />
<SubBlock label="Re-type new" placeholder="Re-type new" />
<p className="notice"><a href="#">Forgot password?</a></p>
<button className="button small fill primary">Save Changes</button>
<button className="button small default">Cancel</button>
</div>
</SettingsBlock>
</div>
);
}
}
Было бы здорово, если бы кто-нибудь мог привести пример того, как этого добиться в этой ситуации. Я тратил много времени на то, чтобы понять это сам, и впервые использую ReactJ в проекте. Благодарю.