-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
多重map中使用临时变量与三元表达式,编译结果错误 #2814
Comments
欢迎提交 Issue~ 如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏 如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。 Good luck and happy coding~ |
CC @yuche |
非常详尽的 issue,感谢 |
您好,还有一个类似的问题,如下所示: render() {
const { current } = this.state;
const types = [TYPE_ALL, TYPE_ONGOING];
// const data = [this.props[TYPE_ALL].data, this.props[TYPE_ONGOING].data];
return (
<View className='container'>
<View className='header'>
<AtSegmentedControl
values={["全部", "进行中"]}
onClick={this.onClickTabs}
current={current}
/>
</View>
{types.map((type, index) => {
return (
<ActivityContainer
isLoading={this.state[type].isLoading}
isError={this.state[type].isError}
onReload={() => this.fetchData(type)}
minHeight='80vh'
key={type}
>
<List data={this.props[type].data} type={type} /> // 这里
</ActivityContainer>
);
})}
</View>
);
} List组件的 如果将上述代码改为: render() {
const { current } = this.state;
const types = [TYPE_ALL, TYPE_ONGOING];
const data = [this.props[TYPE_ALL].data, this.props[TYPE_ONGOING].data];
return (
<View className='container'>
<View className='header'>
<AtSegmentedControl
values={["全部", "进行中"]}
onClick={this.onClickTabs}
current={current}
/>
</View>
{types.map((type, index) => {
return (
<ActivityContainer
isLoading={this.state[type].isLoading}
isError={this.state[type].isError}
onReload={() => this.fetchData(type)}
minHeight='80vh'
key={type}
>
<List data={data[index]} type={type} />
</ActivityContainer>
);
})}
</View>
);
} |
第二个问题你需要显示写 最新的 beta 版本就没有这个限制。 |
非常感谢 |
多层map的情况下,当里层map引用外层map的变量时,编译过程中的临时变量
$loopState__tempX
编译错误。示例代码:下面是一个render函数中的部分代码:
内层map用到一个临时变量:
查看该部分View的编译结果:
编译后的js:
如上,我期望
$loopState__temp7
是style对象,但是最终结果是null。原因是三元表达式中的第二个条件编译错误。如果我在render函数中先将style保存为一个变量,就不会出现这个问题:
我的想法:
似乎在map中不在本map函数作用域中的变量的时候,会默认它是map的回调函数的第一个参数的属性?感谢您解答。
The text was updated successfully, but these errors were encountered: