nextjs - 💡(How to fix) Fix The onClick event does not work on iOS 15 in versions later than 16.1.6 [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
vercel/next.js#93942Fetched 2026-05-20 03:38:30
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Participants
Timeline (top)
labeled ×2issue_type_added ×1

Code Example

"use client";

import { useState } from "react";

export default function Home() {
    const [count, setCount] = useState(0);

    return (
      <div>
        <h1>Count: {count}</h1>
        <button onClick={() => setCount(count + 1)}>Increment</button>
      </div>
    );
}

---

Operating System:
    Platform: darwin
    Arch: arm64
    Version: Darwin Kernel Version 25.4.0
  Binaries:
    Node: 24.14.1
    npm: 11.11.0
    pnpm: 9.15.0
  Relevant Packages:
    next: 16.2.6
    react: 19.2.4
    react-dom: 19.2.4
    typescript: 5.9.3
  Next.js Config:
    output: N/A
RAW_BUFFERClick to expand / collapse

Link to the code that reproduces this issue

https://github.com/giulianoconti/onClick-no-work

To Reproduce

Live demo (broken on iOS 15): https://on-click-no-work.vercel.app/

  1. Open https://on-click-no-work.vercel.app/ on iOS 15.8 Safari
  2. Tap "Increment"
  3. Counter does not change

Or clone locally: git clone https://github.com/giulianoconti/onClick-no-work cd onClick-no-work pnpm install pnpm dev

Relevant code (app/page.tsx):

"use client";

import { useState } from "react";

export default function Home() {
    const [count, setCount] = useState(0);

    return (
      <div>
        <h1>Count: {count}</h1>
        <button onClick={() => setCount(count + 1)}>Increment</button>
      </div>
    );
}

Current vs. Expected behavior

Expected: tapping "Increment" on iOS 15 increments counter. Observed: tap does nothing. No console errors. Works on iOS 16+, Chrome/Firefox desktop, and Safari desktop.

Provide environment information

Operating System:
    Platform: darwin
    Arch: arm64
    Version: Darwin Kernel Version 25.4.0
  Binaries:
    Node: 24.14.1
    npm: 11.11.0
    pnpm: 9.15.0
  Relevant Packages:
    next: 16.2.6
    react: 19.2.4
    react-dom: 19.2.4
    typescript: 5.9.3
  Next.js Config:
    output: N/A

Which area(s) are affected? (Select all that apply)

React, Runtime

Which stage(s) are affected? (Select all that apply)

Vercel (Deployed), next dev (local)

Additional context

Deployed on Vercel — same broken behavior as local. Issue is iOS 15-specific (webkit on older Safari).

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING