当我useMutation与 react native 一起使用时,出现未处理的承诺拒绝错误。这是产生问题的代码:
const [createUser, { error, loading }] = useMutation(CREATE_USER_MUTATION);
Run Code Online (Sandbox Code Playgroud)
每当我的 graphql 服务器向客户端返回错误时,我都会收到未处理的承诺拒绝错误(下面的屏幕截图)。我可以通过添加这样的错误处理程序来让它消失,但这似乎是一个黑客。有什么想法吗?我做错了什么还是阿波罗人应该解决这个问题?
const [createUser, { error, loading }] = useMutation(CREATE_USER_MUTATION, {
onError: () => {}
});
Run Code Online (Sandbox Code Playgroud)
我正在使用 lambda 函数通过 AWS Cognito 自定义确认电子邮件。我的 lambda 函数似乎工作正常,如下所示:
exports.handler = async (event, context, callback) => {
const sampleTemplate = `<html>
<body>
<div>${event.request.codeParameter}</div>
<div>${event.userName}</div>
</body>
</html>`
if (event.triggerSource === "CustomMessage_AdminCreateUser") {
event.response.emailSubject = 'Lets hope this works'
event.response.emailMessage = sampleTemplate
console.log(event.response) // Logs look as expected
}
callback(null, event);
};
Run Code Online (Sandbox Code Playgroud)
问题在于,当电子邮件到达时,消息正文会被“用户池”>“消息自定义”选项卡中的内容覆盖。主题行工作正常,但电子邮件正文被覆盖。例如,认知设置如下所示:

如您所见,lambda 函数用于设置电子邮件的主题行,但不适用于实际内容。我找不到任何设置来关闭该内容,并且不能留空...非常感谢任何帮助。
所以我有一个数组,例如。const arr = [1, 2, 3, 4];。我想使用传播语法...删除第一个元素。
即。[1, 2, 3, 4]==>[2, 3, 4]
可以使用传播语法来完成吗?
编辑:简化了更一般用例的问题。
关于反应导航 setParams() 的问题。我在 Reactiflux 上问过,但没有人回答。我正在尝试在函数组件中以编程方式设置标题。
从另一个 Stack Overflow 线程,追溯更新静态标题,像这样,工作:
const Comp = props => { ... };
Comp.navigationOptions = ({ navigation }) => ({
title: 'Static Title'
});
Run Code Online (Sandbox Code Playgroud)
但是我需要从组件内部访问组件状态,这不起作用:
const Comp =({ navigation }) => {
const [title, setTitle] = useState('');
useEffect(() => {
navigation.setParams({ title });
}, [title]);
return ( ... );
}
Run Code Online (Sandbox Code Playgroud)
如果 setParams() 是错误的方法,请赐教
编辑:补充一点,当我console.log(navigation)看到它正在更改navigation.state.params.title为正确的字符串时,但它没有显示为标题。