React native 将字段输入从状态发送到firebase
我目前正在开发一款能够添加新任务、分配给其他人以及选择截止日期的应用程序。 我想开始向我的firebase发送任务的受让人和到期日期。 这是我的下拉组件:React native 将字段输入从状态发送到firebase,react-native,React Native,我目前正在开发一款能够添加新任务、分配给其他人以及选择截止日期的应用程序。 我想开始向我的firebase发送任务的受让人和到期日期。 这是我的下拉组件: class DropdownComponent extends Component { constructor(props){ super(props); this.state = { assignee: '', data: [{ value: 'apple', }, {
class DropdownComponent extends Component {
constructor(props){
super(props);
this.state = {
assignee: '',
data: [{
value: 'apple',
}, {
value: 'lemon',
}, {
value: 'orange',
}, {
value: 'banana',
}, {
value: 'watermelon',
}],
value: ''
}
}
handleAssigneePicked = value => {
this.setState({ assignee: value })
console.log("Assignee " + value)
};
render() {
return (
<Dropdown
data={this.state.data}
value={this.state.assignee}
onChangeText={this.handleAssigneePicked}
/>
);
}
}
但我找不到变量:assignee和selectedDate,我能得到一些帮助吗?我一定是少了点什么。看来你忘了将这些参数传递给action
const SaveNewTask = (name, body, assignee, selectedDate) => {
const { currentUser } = firebase.auth();
!_.isEmpty(name) && !_.isEmpty(body) && !_.isEmpty(assignee) && selectedDate != undefined
?
firebase
.database()
.ref(`/users/${currentUser.uid}/tasks`)
.push({
name, body, assignee, selectedDate, timestamp: Date.now(), completed: false, archived: false
})
: alert('All fields are required.');
};
你可以使用
。.isEmpty()
,谢谢你的回复,这会使我的警报模式出现几毫秒,然后消失,这会使应用程序无响应,我必须重新启动应用程序才能再次工作。
const SaveNewTask = (name, body) => {
const { currentUser } = firebase.auth();
// eslint-disable-next-line no-undef
// eslint-disable-next-line no-unused-expressions
!!name && !!body
?
firebase
.database()
.ref(`/users/${currentUser.uid}/tasks`)
.push({
name, body, assignee, selectedDate, timestamp: Date.now(), completed: false, archived: false
})
// eslint-disable-next-line no-undef
: alert('All fields are required.');
};
const SaveNewTask = (name, body, assignee, selectedDate) => {
const { currentUser } = firebase.auth();
!_.isEmpty(name) && !_.isEmpty(body) && !_.isEmpty(assignee) && selectedDate != undefined
?
firebase
.database()
.ref(`/users/${currentUser.uid}/tasks`)
.push({
name, body, assignee, selectedDate, timestamp: Date.now(), completed: false, archived: false
})
: alert('All fields are required.');
};