【发布时间】:2020-03-11 12:39:56
【问题描述】:
我想将我的渲染分成几个部分。
一定有一些代码位丢失,因为我的真实代码超过一千行,例如这个。
基本上我希望能够调用Page2 并使用Page2 中的handleSubmit 和handleChange 函数。但是当我调用Page2 时,代码说他没有找到handleSubmit 和handleChange。我希望它能够像我没有将我的代码分成几个函数一样工作。如果有人有想法:/
所以我这样分开我的代码:
Page1.js:
import {Page2} from './Page2';
const initialState = { test:'', test2: ''};
export default class Page1 extends Component {
constructor(props) {
super(props);
this.state = initialState;
this.handleSubmit = this.handleSubmit.bind(this);
this.handleChange = this.handleChange.bind(this);
}
handleChange(event) {
const InputValue = event.target.value;
const stateField = event.target.name;
this.setState({
[stateField]: InputValue,
});
console.log(this.state);
}
async handleSubmit(event) {
this.setState({ loading: true });
event.preventDefault();
const { test= ''} = this.state;
await axios.post(' (endpoint API)',
{ key1: `${test}`);
}
render() {
return (
<Tabs selectedIndex={this.state.tabIndex} onSelect={tabIndex => this.setState({ tabIndex })}>
<TabList>
<Tab >Non Dynamique</Tab>
<Tab> Automation </Tab>
</TabList>
<TabPanel>
<Input type="number" step="0.01" name="test" onChange={this.handleChange} value=
{this.state.test || ''}/> </Col>
<Button type="submit"> Update </Button>
</TabPanel>
<TabPanel>
{this.Page2}
</TabPanel>
);
}
}
第 2 页:
export class Page2 extends Component {
render() {
return(
<Input type="number" step="0.01" name="test2" onChange={this.handleChange} value=
{this.state.test || ''}/> </Col>
<Button type="submit"> Update </Button>
);
}
}
感谢您的回复
【问题讨论】:
标签: javascript reactjs class components