Я использую чата с собственным одаренным ответом и пытаюсь выяснить, как задать _id, text, creationAt, userid и name для параметров моей мутации. Я получаю следующие ошибки variable id has coerced null value
или cannot read property 'id' is undefined
. Главный вопрос, который у меня есть, это что установить messageid и messagetext. Я использую чата с одарённым реагированием AWS.
export const createMessage = `mutation createMessage($id: ID! $groupchatid: ID! $message: String! $createdUser: String! $createdTime: String!) {
createMessage(input:{ id:$id groupchatid:$groupchatid, message:$message, createdUser: $createdUser createdTime: $createdTime}) {
id
groupchatid
message
createdUser
createdTime
}
}`;
const user = Auth.currentAuthenticatedUser();
this.setState({ username: user.username});
}
MessagesMutation = async () => {
const AddMessage = { message: this.state.messages, createdUser: this.state.username, groupchatid: this.state.groupchatname };
const newGroupChatMessage = await API.graphql(graphqlOperation(createMessage, AddMessage));
console.log(JSON.stringify(newGroupChatMessage));
};
componentWillMount() {
this.setState({
messages: [
{
_id: id,
text: message,
createdAt: new Date(),
user: {
_id: createdUser,
name: createdUser,
avatar: 'https://placeimg.com/140/140/any',
},
},
],
})
}
componentDidMount() {
const { navigation } = this.props;
const value = navigation.getParam('value')
this.setState({groupchatname: value})
}
onSend(messages = []) {
this.setState(previousState => ({
messages: GiftedChat.append(previousState.messages, messages),
}))
}
render(){
const { groupchatname} = this.state;
return (
<SafeAreaView style={{ flex: 1 }}>
<Header style={styles.headerColor}>
<Text style={styles.text}>{groupchatname}</Text>
</Header>
<GiftedChat
messages={this.state.messages}
renderUsernameOnMessage={true}
onSend={messages => this.onSend(messages), this.MessagesMutation}
user={{
_id: this.user,
name: this.user,
avatar: 'https://placeimg.com/140/140/any'
}}```