Такое поведение имеет смысл, поскольку ваши маршруты основаны на prop / state this.props.siteBanner.Red
. Итак, первое, что нужно сделать, это поставить console.log
после ввода этого компонента.
console.log(this.props.siteBanner.Red)
В вашем первом случае вы получаете доступ к этому компоненту от его родителя, таким образом, скорее всего, пропсы будут разрешены.
Во втором случае вы обращаетесь к нему напрямую, конечно, также от его родителя, но, скорее всего, у реквизита нет времени на быстрое решение. Пара возможностей
- useEffect - обновить эту переменную
- для получения значения требуется щелчок мыши
- setTimeout используется для отсрочки
- обратного вызова используется для получения этой переменной
Вы можете сказать, что есть задержка в 50 мс в разрешении этой опоры, но вам нужно самостоятельно выяснить, почему. Маршрут Dynami c более продвинутый, легко иметь постоянный маршрут.