console.log 在 <ErrorMessage> 组件内

console.log inside <ErrorMessage> component

通常,Formik 的 <ErrorMessage> 标签是这样使用的:

  <ErrorMessage
                        name="email"
                        render={(msg) => (
                          <Text style={styles.errorText}>
                            {msg}
                          </Text>
                        )}
                      />

有什么方法可以 console.log 并从里面查看错误消息吗?我尝试制作一个单独的函数来进行打印,但调用它而不是 <Text> 不起作用。我有其他选择吗?

根据 REACT,"At the end its all javascript"

所以,你可以试试这个:

{(msg) => {
    console.log(msg); // <----- HERE
    return (<Text style={styles.errorText}>
    {msg}
    </Text>)
}}

试试这个

<ErrorMessage
  name="email"
  render={(msg) => {
    console.log(msg);
    return <Text style={styles.errorText}>{msg}</Text>;
  }}
/>;

最简洁的方法是调用 console.log() 并将 or 运算符与 Text 组件一起使用。这将调用 console.log 并呈现组件 - 因为记录 returns undefined 第二条语句将始终被执行。

 <ErrorMessage
    name="email"
    render={
      (msg) => console.log(msg) || <Text style={styles.errorText}>{msg}</Text>
    }
 />