diff --git a/example/package-lock.json b/example/package-lock.json
index 0d3b8c8..459f45e 100644
--- a/example/package-lock.json
+++ b/example/package-lock.json
@@ -12,8 +12,8 @@
         "react-app-polyfill": "^1.0.6"
       },
       "devDependencies": {
-        "@types/react": "17.0.68",
-        "@types/react-dom": "17.0.21",
+        "@types/react": "18.2.28",
+        "@types/react-dom": "18.2.13",
         "parcel": "1.12.4",
         "typescript": "3.9.10"
       }
@@ -1143,9 +1143,9 @@
       "dev": true
     },
     "node_modules/@types/react": {
-      "version": "17.0.68",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.68.tgz",
-      "integrity": "sha512-y8heXejd/Gi43S28GOqIFmr6BzhLa3anMlPojRu4rHh3MtRrrpB+BtLEcqP3XPO1urXByzBdkOLU7sodYWnpkA==",
+      "version": "18.2.28",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.28.tgz",
+      "integrity": "sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==",
       "dev": true,
       "dependencies": {
         "@types/prop-types": "*",
@@ -1154,12 +1154,12 @@
       }
     },
     "node_modules/@types/react-dom": {
-      "version": "17.0.21",
-      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.21.tgz",
-      "integrity": "sha512-3rQEFUNUUz2MYiRwJJj6UekcW7rFLOtmK7ajQP7qJpjNdggInl3I/xM4I3Hq1yYPdCGVMgax1gZsB7BBTtayXg==",
+      "version": "18.2.13",
+      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.13.tgz",
+      "integrity": "sha512-eJIUv7rPP+EC45uNYp/ThhSpE16k22VJUknt5OLoH9tbXoi8bMhwLf5xRuWMywamNbWzhrSmU7IBJfPup1+3fw==",
       "dev": true,
       "dependencies": {
-        "@types/react": "^17"
+        "@types/react": "*"
       }
     },
     "node_modules/@types/scheduler": {
diff --git a/example/package.json b/example/package.json
index 841ef89..aaa6ae1 100644
--- a/example/package.json
+++ b/example/package.json
@@ -16,8 +16,8 @@
     "scheduler/tracing": "../node_modules/scheduler/tracing-profiling"
   },
   "devDependencies": {
-    "@types/react": "17.0.68",
-    "@types/react-dom": "17.0.21",
+    "@types/react": "18.2.28",
+    "@types/react-dom": "18.2.13",
     "parcel": "1.12.4",
     "typescript": "3.9.10"
   }
diff --git a/package-lock.json b/package-lock.json
index ba16c3a..8739a79 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,13 +13,13 @@
       },
       "devDependencies": {
         "@types/jest": "29.5.5",
-        "@types/react": "17.0.68",
-        "@types/react-dom": "17.0.21",
+        "@types/react": "18.2.28",
+        "@types/react-dom": "18.2.13",
         "@types/react-test-renderer": "18.0.3",
         "husky": "4.3.8",
-        "react": "16.14.0",
-        "react-dom": "16.14.0",
-        "react-test-renderer": "16.14.0",
+        "react": "18.2.0",
+        "react-dom": "18.2.0",
+        "react-test-renderer": "18.2.0",
         "tsdx": "0.13.3",
         "tslib": "1.14.1",
         "typescript": "3.9.10"
@@ -2576,9 +2576,9 @@
       "dev": true
     },
     "node_modules/@types/react": {
-      "version": "17.0.68",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.68.tgz",
-      "integrity": "sha512-y8heXejd/Gi43S28GOqIFmr6BzhLa3anMlPojRu4rHh3MtRrrpB+BtLEcqP3XPO1urXByzBdkOLU7sodYWnpkA==",
+      "version": "18.2.28",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.28.tgz",
+      "integrity": "sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==",
       "dev": true,
       "dependencies": {
         "@types/prop-types": "*",
@@ -2587,12 +2587,12 @@
       }
     },
     "node_modules/@types/react-dom": {
-      "version": "17.0.21",
-      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.21.tgz",
-      "integrity": "sha512-3rQEFUNUUz2MYiRwJJj6UekcW7rFLOtmK7ajQP7qJpjNdggInl3I/xM4I3Hq1yYPdCGVMgax1gZsB7BBTtayXg==",
+      "version": "18.2.13",
+      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.13.tgz",
+      "integrity": "sha512-eJIUv7rPP+EC45uNYp/ThhSpE16k22VJUknt5OLoH9tbXoi8bMhwLf5xRuWMywamNbWzhrSmU7IBJfPup1+3fw==",
       "dev": true,
       "dependencies": {
-        "@types/react": "^17"
+        "@types/react": "*"
       }
     },
     "node_modules/@types/react-test-renderer": {
@@ -10963,32 +10963,28 @@
       }
     },
     "node_modules/react": {
-      "version": "16.14.0",
-      "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
-      "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
+      "version": "18.2.0",
+      "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
+      "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
       "dev": true,
       "dependencies": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2"
+        "loose-envify": "^1.1.0"
       },
       "engines": {
         "node": ">=0.10.0"
       }
     },
     "node_modules/react-dom": {
-      "version": "16.14.0",
-      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz",
-      "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==",
+      "version": "18.2.0",
+      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
+      "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
       "dev": true,
       "dependencies": {
         "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2",
-        "scheduler": "^0.19.1"
+        "scheduler": "^0.23.0"
       },
       "peerDependencies": {
-        "react": "^16.14.0"
+        "react": "^18.2.0"
       }
     },
     "node_modules/react-is": {
@@ -10997,21 +10993,39 @@
       "integrity": "sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA==",
       "dev": true
     },
-    "node_modules/react-test-renderer": {
-      "version": "16.14.0",
-      "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.14.0.tgz",
-      "integrity": "sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==",
+    "node_modules/react-shallow-renderer": {
+      "version": "16.15.0",
+      "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz",
+      "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==",
       "dev": true,
       "dependencies": {
         "object-assign": "^4.1.1",
-        "prop-types": "^15.6.2",
-        "react-is": "^16.8.6",
-        "scheduler": "^0.19.1"
+        "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0"
       },
       "peerDependencies": {
-        "react": "^16.14.0"
+        "react": "^16.0.0 || ^17.0.0 || ^18.0.0"
       }
     },
+    "node_modules/react-test-renderer": {
+      "version": "18.2.0",
+      "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.2.0.tgz",
+      "integrity": "sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==",
+      "dev": true,
+      "dependencies": {
+        "react-is": "^18.2.0",
+        "react-shallow-renderer": "^16.15.0",
+        "scheduler": "^0.23.0"
+      },
+      "peerDependencies": {
+        "react": "^18.2.0"
+      }
+    },
+    "node_modules/react-test-renderer/node_modules/react-is": {
+      "version": "18.2.0",
+      "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+      "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+      "dev": true
+    },
     "node_modules/read-pkg": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
@@ -11714,13 +11728,12 @@
       "dev": true
     },
     "node_modules/scheduler": {
-      "version": "0.19.1",
-      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
-      "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
+      "version": "0.23.0",
+      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
+      "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
       "dev": true,
       "dependencies": {
-        "loose-envify": "^1.1.0",
-        "object-assign": "^4.1.1"
+        "loose-envify": "^1.1.0"
       }
     },
     "node_modules/semver": {
diff --git a/package.json b/package.json
index ea3929b..ea5696b 100644
--- a/package.json
+++ b/package.json
@@ -37,13 +37,13 @@
   },
   "devDependencies": {
     "@types/jest": "29.5.5",
-    "@types/react": "17.0.68",
-    "@types/react-dom": "17.0.21",
+    "@types/react": "18.2.28",
+    "@types/react-dom": "18.2.13",
     "@types/react-test-renderer": "18.0.3",
     "husky": "4.3.8",
-    "react": "16.14.0",
-    "react-dom": "16.14.0",
-    "react-test-renderer": "16.14.0",
+    "react": "18.2.0",
+    "react-dom": "18.2.0",
+    "react-test-renderer": "18.2.0",
     "tsdx": "0.13.3",
     "tslib": "1.14.1",
     "typescript": "3.9.10"