レコードをクリックするときに更新フォームを表示しようとしています。日付ピッカーがクリックされたときに新しいレコードフォームが表示され、更新/作成の後も表示されません。 editMode
というユーザー入力に基づいて値を動的に変更する小道具があります。ここ レンダリングで3つの条件ビュー
this.props.editMode
は、それが空でない表示する
this.props.events
に加えて、異なる値を有するコンソールからいる値と
recordId
はそれを
this.props.editMode
を発見するために、アレイにも1つの目的は、一致するIDを有するもののスクリーンショットであります
<Create />
コンポーネント意志がレンダリングしますが、<Update />
コンポーネントはしません。私は唯一のコンソールで警告を取得しています。
警告:作成するのは、制御されないタイプのテキストの入力を変更することです。入力要素は、制御されていない状態に切り替わるべきではありません(またはその逆)。コンポーネントの寿命の間、制御された入力要素または制御されていない入力要素を使用するかどうかを決めます。
エラーはありません。
import React from 'react';
import Create from './Event/Create';
import Update from './Event/Update';
class SideBar extends React.Component {
constructor() {
super();
this.renderEventForm = this.renderEventForm.bind(this);
}
renderEventForm() {
console.log(this.props.editMode);
console.log(this.props.events);
//if editMode state true, loop
// through events till until matching id
// place props into update component
if(this.props.editMode.state) {
const editRecordId = this.props.editMode.recordId;
return this.props.events.map((e) => {
if(e.Id === editRecordId) {
<div key={e.Id}>
<Update event={e} />
</div>
}
});
} else {
// render the create form
return(
<Create/>
)
}
}
render() {
return (
<div className="slds-p-bottom--small slds-p-horizontal--small slds-size--1-of-1 slds-medium-size--1-of-1 slds-large-size--1-of-3">
{this.renderEventForm()}
</div>
);
}
}
export default SideBar;