ExceptionsManager.js:76 Exception 'shadowView super (of ID 415) not found' was thrown while invoking replaceExistingNonRootView on target RCTUIManager with params (
415,
427
)
_renderTabView() {
const {sorts, loadingSort} = this.props;
let content;
if (sorts.length > 0 && !loadingSort) {
content = <ScrollableTabView
style={styles.category}
initialPage={0}
renderTabBar={()=><ScrollableTabBar style={{borderWidth: 0}} inactiveTextColor='#fff'/>}>
{sorts.map((sort)=>this._renderTab(sort))}
</ScrollableTabView>
}
return content;
}
_renderTab(sort) {
const {merchants, isRefreshing} = this.props;
const dataSource = this.state.dataSource.cloneWithRows(merchants[sort.sortid] === undefined ? [] : merchants[sort.sortid]);
return <View key={sort.sortid} tabLabel={sort.sortname}>
<YYListView
dataSource={dataSource}
renderRow={this._renderRow.bind(this) }
/>
</View>;
}`
_renderRow(row) {
<View>......</View>
}
export default class YYListView extends Component {
// æž„é€
constructor(props) {
super(props);
}
render() {
const {dataSource, renderRow, onEndReached, renderFooter, refreshing, onRefresh} = this.props;
let view;
if(!refreshing && dataSource.getRowCount() === 0){
view = <Status titleIcon={require('../../image/no-data.png')}/>;
}else{
view = <ListView
dataSource={dataSource}
renderRow={renderRow}
enableEmptySections={true}
onEndReached={onEndReached}
onEndReachedThreshold={0}
renderFooter={renderFooter}
refreshControl={
<RefreshControl
refreshing={refreshing}
onRefresh={onRefresh}
tintColor="#ffffff"
title="åŠ è½½ä¸..."
titleColor="#ffffff"
main="#ffffff"
progressBackgroundColor="#ffffff"
/>}
/>
}
return (view)
}
}
YYListView.propTypes = {
dataSource: PropTypes.any.isRequired,
renderRow: PropTypes.func.isRequired,
refreshing: PropTypes.bool.isRequired,
onEndReached: PropTypes.func,
renderFooter: PropTypes.func,
onRefresh: PropTypes.func
}'
I forgot a return in [_renderRow] ....
I also have this problem and my code looks fine. These error messages are really horrible!
had same problem
{media.map ((elem)=> (
))}
turns out id's definition was missing...
I just ran into this same error when I had an exception being thrown in my mapStateToProps. So just one more place to look for anyone else encountering this.
@kkamperschroer thank you
I've got this after I eslint'ed the entire project, by the way.
So many possibilities...
Strangely I can repro this by adding a double-slash comment in between two rendered React Native items. Changing the comment to correct style {/* My comment */} fixes the issue.
Seems like a fairly strange error message for this issue! The linter also does not pick this up.
<Text>...</Text>
// Invalid comment style
<Text>...</Text>
Full error message:
Exception 'shadowView super (of ID 46) not found' was thrown while invoking replaceExistingNonViewRoot on target UIManager with params (
46,
120
)RCTFatal
I have the exact same isssue
Exception 'shadowView super (of ID 46) not found' was thrown while invoking replaceExistingNonViewRoot on target UIManager with params (
49,
56
)
RCTFatal
But I don't have any comments between the components in my code. It started to happen after upgrading to (0.46.4), it's pretty tough to track down where it comes from.
I've seen this today when trying to implement Native Base Picker as well, without any bogus comments.
React Native may be showing this error message in a variety of cases now, which seems like a bug.
Update:
It appears that this error was shown to me because of react-navigation update. There were some breaking changes in there and I had to update my codebase to fix them, after that, there was no more shadowView error.
@brzezinskip Can you provide a few details? We're using react-navigation as well.
@lukecwilliams We were using such syntax for navigationOptions:
public static navigationOptions = {
header: {
visible: false,
},
};
which has been changed to
public static navigationOptions = {
header: null,
};
and
public static navigationOptions = {
title: ({ state }) => state.params.title,
header: {
visible: false,
},
};
which has been changed to
public static navigationOptions =
({ navigation }) => ({
title: navigation.state.params.title,
header: null,
})
might not be the case for you though.
@brzezinskip Not our case, but thanks for pointing those out.
Most helpful comment
I also have this problem and my code looks fine. These error messages are really horrible!