You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在React Navigation中自定义header-right元素?报错求助

导航栏按钮报错"Functions are not valid as a React child"的解决方法

你定义的按钮组件没问题,但在配置导航栏右侧按钮时犯了一个小错误:

:header-right对应的回调函数里,你返回的是组件函数create-task-button本身,而不是调用这个函数生成的React元素。React无法直接渲染函数对象,因此抛出了这个警告。

只需要修改header-right的回调,给create-task-button加上括号调用它,修正后的代码如下:

(defn app-component []
  [(rnn/create-navigation-container-reload
    [stack/stack
     [{:name      :home
       :component home-comp
       :options   {:title        "Home"
                   :header-right (fn [] (create-task-button))}}
      {:name      :create-task
       :component create-task-comp
       :options   {:title "Create Task"}}]])])

这样回调函数会返回按钮的实际React元素,警告就会消失,按钮也能正常渲染在导航栏右侧。

内容的提问来源于stack exchange,提问作者Dmitry Leonov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 23:36:21