component: do not create ref for dynamic id (#1307)

allow dynamic id (BaseVar) to be specified (from state value or foreach), but
do not create a react reference for it, since that must be known at compile
time.

if a react ref is needed, then specify a string _at compile time_, not from
state.

fix #1302
This commit is contained in:
Masen Furer 2023-07-06 06:16:13 -07:00 committed by GitHub
parent 8cb12c756c
commit 333e2b3184
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -553,7 +553,8 @@ class Component(Base, ABC):
Returns:
The ref name.
"""
if self.id is None:
# do not create a ref if the id is dynamic or unspecified
if self.id is None or isinstance(self.id, BaseVar):
return None
return format.format_ref(self.id)