diff --git a/index.d.ts b/index.d.ts
index 7c0e6e5..5c214c4 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -38,7 +38,7 @@ export interface TreeProps {
   children: <T = any>(props: RendererProps<T>) => JSX.Element;
   nodeMarginLeft?: number;
   width?: number;
-  scrollToId?: number;
+  scrollToId?: NodeId;
   scrollToAlignment?: string;
 }
 
diff --git a/src/TreeContainer.js b/src/TreeContainer.js
index a3dd360..c56cc3f 100644
--- a/src/TreeContainer.js
+++ b/src/TreeContainer.js
@@ -68,7 +68,7 @@ TreeContainer.propTypes = {
   children: PropTypes.func.isRequired,
   nodeMarginLeft: PropTypes.number,
   width: PropTypes.number,
-  scrollToId: PropTypes.number,
+  scrollToId: PropTypes.oneOf([PropTypes.number, PropTypes.string]),
   scrollToAlignment: PropTypes.string,
 };
 
diff --git a/src/UnstableFastTree.js b/src/UnstableFastTree.js
index 47bcbda..23281a5 100644
--- a/src/UnstableFastTree.js
+++ b/src/UnstableFastTree.js
@@ -52,7 +52,7 @@ UnstableFastTree.propTypes = {
   children: PropTypes.func.isRequired,
   nodeMarginLeft: PropTypes.number,
   width: PropTypes.number,
-  scrollToId: PropTypes.number,
+  scrollToId: PropTypes.oneOf([PropTypes.number, PropTypes.string]),
 };
 
 UnstableFastTree.defaultProps = {