Изначально фильмы могут быть пустым массивом, и, поскольку вы обращаетесь к нулевой позиции индекса, вы должны проверить ее длину перед доступом к нулевому индексу.
Измените
const movie = this.props.movies[0];
на
if(this.props.movies.length){
const movie = this.props.movies[0];
console.log(movie);
}
Поскольку фильмы всегда являются массивом, поэтому проверка их длины напрямую решит проблему
Попробуйте это. Я не уверен, будет ли это работать или нет, но
<TabItem
x:Name="Self"
x:Class="App.MyTabItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:app="clr-namespace:App"
>
<TabItem.ContentTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=ShortLabel}"/>
</DataTemplate>
</TabItem.ContentTemplate>
</TabItem>
Если это не работает, попытайтесь всунуть этот атрибут <TabItem/>:
DataContext="{Binding RelativeSource={RelativeSource self}}"
То, что, кажется, проблема, - то, что Вы используете ContentTemplate, на самом деле не используя свойство содержания. DataContext по умолчанию для DataTemplate ContentTemplate является свойством Content TabItem. Однако ни один из того, что я сказал на самом деле, не объясняет, почему привязка не работает. К сожалению, я не могу дать Вам, категорический ответ, но мое лучшее предположение - то, что это - вследствие того, что TabControl снова использует ContentPresenter для отображения свойства содержания для всех объектов вкладки.
Так, в Вашем случае я изменил бы код, чтобы выглядеть примерно так:
<TabItem
x:Class="App.MyTabItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:app="clr-namespace:App"
Header="{Binding ShortLabel, RelativeSource={RelativeSource Self}}"
Content="{Binding ShortLabel, RelativeSource={RelativeSource Self}}" />
Если бы ShortLabel является более сложным объектом и не только строкой затем, Вы хотели бы к indroduce ContentTemplate:
<TabItem
x:Class="App.MyTabItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:app="clr-namespace:App"
Header="{Binding ShortLabel, RelativeSource={RelativeSource Self}}"
Content="{Binding ComplexShortLabel, RelativeSource={RelativeSource Self}}">
<TabItem.ContentTemplate>
<DataTemplate TargetType="{x:Type ComplexType}">
<TextBlock Text="{Binding Property}" />
</DataTemplate>
</TabItem.ContentTemplate>
</TabItem>