def __getitem__(self, key: Any) -> Any:
        """Get the item on the proxied object and return a proxy if mutable.

        Args:
            key: The key of the item.

        Returns:
            The item value.
        """
        value = super().__getitem__(key)
        if isinstance(key, slice) and isinstance(value, list):
            return [self._wrap_recursive(item) for item in value]
        # Recursively wrap mutable items retrieved through this proxy.
        return self._wrap_recursive(value)
Get the item on the proxied object and return a proxy if mutable.

        Args:
            key: The key of the item.

        Returns:
            The item value.
        
reflex/istate/proxy.py