jsxのファイルをtsx&Hooksに書き直していて詰まったところがあるので教えて欲しいです。
*コードを一部抜粋して載せています。
return ( の中には画面で表示させるコンポーネント(html)、stateが変わった時に表示させたいもの(html)を書くと思いますがrender(のなかの関数内に書かれているhtmlはreturn内に書かれているのとはどう違うのでしょうか?
またtsx&hooksに直す最中に
Cannot find name 'render'.ts(2304)というエラーが出ているのですがこれはどういう時になるエラーなのでしょうか?
ざっくりとした質問ですいませんがわかる方がいましたら教えて欲しいです。
interface IState { // 使うstateの型を定義している }; const index: FC<Props> = () => { const [state, setState] = useState<IState>({ // 使うstateを書いている }); const renderGroupName = (names) => { return names.map((name, i) => <span key={i} className=""> {name} </span> ); } const onChange = (key: string, value: number) => { setState({ ...state, groups: Object.assign({}, this.state.groups, { [key]: value }) }); } render() { const { newGroup } = this.state; const groupsNode = state.selectGroup.map((group, index) => ( <p key={index} > {Index.renderGroupName(group.pathNames)} <span className="close-btn" onClick={() => onClickGroup(group, 'selectGroups')} >×</span> </p> )); const addModal = ( <AddModal open={state.isShowModal} onClick={() => this.onClickCloseModal('Close')} onClickAddGroupFunc={onClickGroups} /> ); return ( <div className="bottom-margin"> <div className="input-form"> <div className="caption-small"> 名前 </div> <div className="pr4"> <input className="textfield__input" placeholder="姓" value={newGroup.lastName} onChange={(e) => onChange('Name', e.target.value)} /> </div> <Button className="mdl-button" onClick={onClickAddNew} > 登録する </Button> </div> </div> {addModal} ); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/14 15:43
2020/03/15 01:25
2020/03/15 07:23