Reactjs 如何在通过Props传递的函数中传递多个参数
我正在尝试将标题、日期和时间作为addtodo中的参数传递,addtodo通过道具传递到App.js。如何在单个函数参数中传递所有3个参数Reactjs 如何在通过Props传递的函数中传递多个参数,reactjs,Reactjs,我正在尝试将标题、日期和时间作为addtodo中的参数传递,addtodo通过道具传递到App.js。如何在单个函数参数中传递所有3个参数 export class AddTodo extends Component { state = { title: '', date: '', time: '' } onChange = (e) => this.setState({[e.target.name]: e.target.value}); onSubmit = (e)
export class AddTodo extends Component {
state = {
title: '',
date: '',
time: ''
}
onChange = (e) => this.setState({[e.target.name]: e.target.value});
onSubmit = (e) => {
e.preventDefault();
this.props.addTodo(this.state.title);
this.setState({title: ''});
this.props.addTodo(this.state.date);
this.setState({date: ''});
this.props.addTodo(this.state.time);
this.setState({time: ''});
this.props.callTodo();
}
render() {
return (
<div>
<form onSubmit={this.onSubmit}>
<input type="text" name="title"
onChange{this.onChange} value{this.state.title} placeholder="Add
task"/>
<input type="date" name="date" onChange={this.onChange} value=
{this.state.date}/>
<input type="time" name="time" onChange={this.onChange} value=
{this.state.time}/>
<input type="submit" value="submit"/>
</form>
</div>
)
}
-------------------------------------------------------------------------
App.js
addTodo = (title) => {
const newTodo = {
id: uuid.v4(),
title,
completed: false
}
this.setState({todos: [...this.state.todos, newTodo]});
导出类AddTodo扩展组件{
状态={
标题:“”,
日期:'',
时间:“”
}
onChange=(e)=>this.setState({[e.target.name]:e.target.value});
onSubmit=(e)=>{
e、 预防默认值();
this.props.addTodo(this.state.title);
this.setState({title:'});
this.props.addTodo(this.state.date);
this.setState({date:'});
this.props.addTodo(this.state.time);
this.setState({time:'});
this.props.callTodo();
}
render(){
返回(
)
}
-------------------------------------------------------------------------
App.js
addTodo=(标题)=>{
常数newTodo={
id:uuid.v4(),
标题
已完成:false
}
this.setState({todos:[…this.state.todos,newTodo]});
}
错误-
./src/App.js
第53行:“标题”未定义无未定义
第54行:“日期”未定义无未定义
第55行:“时间”未定义无未定义
第62行:“newTodo”未定义为no undef,您可以将其展开为包含三个参数
title
,date
和time
,而不是将单个title
参数引入addTodo
class AddTodo extends Component {
// ...
onSubmit = e => {
const { title, date, time } = this.state;
e.preventDefault();
this.props.addTodo(title, date, time);
this.setState({ title: "", date: "", time: "" });
this.props.callTodo();
};
// ...
}
class App extends Component {
// ...
addTodo = (title, date, time) => {
const newTodo = {
id: uuid.v4(),
title,
date,
time,
completed: false
};
this.setState({ todos: [...this.state.todos, newTodo] });
};
// ...
}