为什么`return`和`之间的换行符(``打破代码?

时间:2017-09-19 20:46:52

标签: javascript reactjs react-native syntax render

根据我的问题解决方案:setState fires and render method gets hit, but nothing rerenders

如果return(之间有换行符,则代码有效,否则无效。

示例:

这有效:

render() 
{
        return (
            <View >
                <ListView dataSource={this.state.beers_ds} renderRow={renderRow.bind(this)} />
            </View>
        ); 
} 

但这失败了:

render() 
{
        return 
        (
            <View >
                <ListView dataSource={this.state.beers_ds} renderRow={renderRow.bind(this)} />
            </View>
        ); 
} 

为什么?

2 个答案:

答案 0 :(得分:1)

似乎自动分号插入可能会咬你的屁股。我相信javascript会自动在;语句的末尾插入return

Why doesn't a Javascript return statement work when the return value is on a new line?

答案 1 :(得分:1)

在这里回答: Javascript function fails to return object when there is a line-break between the return statement and the object?

这只是JS语法的问题。分号自动添加,因此编译器会处理

return
  ( sth )

作为

return;
  ( sth )