React native 将字段输入从状态发送到firebase

React native 将字段输入从状态发送到firebase,react-native,React Native,我目前正在开发一款能够添加新任务、分配给其他人以及选择截止日期的应用程序。 我想开始向我的firebase发送任务的受让人和到期日期。 这是我的下拉组件: class DropdownComponent extends Component { constructor(props){ super(props); this.state = { assignee: '', data: [{ value: 'apple', }, {

我目前正在开发一款能够添加新任务、分配给其他人以及选择截止日期的应用程序。 我想开始向我的firebase发送任务的受让人和到期日期。 这是我的下拉组件:

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.');
};