<button>タグクリック時、type="button"を指定しないとリロードされる。

ソースコード

<button></button>

<button type="button"></button>

甲だとクリック時リロードされ、 乙だとリロードされないんですね。

デフォルトはtype="submit"

<button>でtypeを指定なしにすると、
デフォルトのsubmitの振る舞いをするようです。

発生時

最近はReactでtodoアプリを最近作っていまして、
datepickerを<button>か、 nput[type="text"]にしようかと迷っており、
前者を試した時に現象が出ました。

余談ですが、クリックしたまま<button>の領域を離れて
クリックを離すとリロードされなかったです。

まとめ

<button>タグクリック時、リロードしたくないなら、 type="button"を指定しましょう。