-
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
1.0.0-beta.22 发布 #389
Comments
通过 props map 出来的渲染出错: <View className='tabs-container'>
{this.props.tabs.map((t, i) => (
<View
className={`tab ${this.state.activeIndex === i ? 'active' : ''}`}
key={t}
onClick={this.handleChangeTab.bind(this, i)}
>
<Text>{t}</Text>
</View>
))}
</View> 渲染结果:
|
@songkeys 升级到 |
1.0.0-beta.1: <Button>{this.props.text}</Button> // ok!
<Button>{this.props.children}</Button> // ok!
<Button>{this.props.text || this.props.children}</Button> // 出错 编译结果:(Bad value with message)
|
1.0.0-beta.1: |
@songkeys 收到~ 非常感谢反馈~ 我们快速跟进一下~ |
@yuche 看了一下测试用例,都没有问题。我这边编译完的 dist 文件也没有问题。但实际运行时会报错。 下面是我项目编译完的代码:
如果我直接修改 dist 文件,去掉逻辑运算符:
稍等,我弄个最小重现确认一下不是其他的干扰之后再看看…… update: 父组件: state = {
test: false
}
componentDidMount() {
this.setState({ test: true }) // 这一步是关键,如果不改变这个状态就没有关系
}
render() {
return <View><Comp test={this.state.test} /></View>
} 子组件 Comp: render() {
return <View>{!this.props.test && <Btn />}</View>
} 应该没有别的干扰了,但我还没有完全抽离出来测验。如果还需要帮助,我可以提供一下重现这个故障的项目仓库…… |
@songkeys 可以试试 |
1.0.0-beta.2: 关于 关于 defaultProps 都是 null: 两个测试可以看一下这个仓库:
|
@songkeys null被转换成空对象 问题已定位到 |
升级到 beta.9 之后: 父页面: render() {
const { id } = this.$router.params
return <Content userId={id} />
} 子组件: static defaultProps = {
userId: null,
}
componentDidMount() {
console.log(this.props.userId) // null
setTimeout(() => {
console.log(this.props.userId) // 正常
}, 1000)
} 而且这个情况出现在这个页面被推入的场景下,如果用开发者工具的编译模式直接打开这个页面,是不会出现问题的,估计是和 App 的生命周期又有影响了? 话说之前提过的直接用 另外不知道可不可以提供在自定义组件中便捷取到父页面实例的方法?之前的做法是 目前的做法是: 在自定义组件中取当前页面实例: |
@songkeys 父页面: componentWillMount() {
const params = this.$router.params
this.setState({
id: params.id
})
}
render () {
return <Content userId={this.state.id} />
} |
升级到 |
children使用方式有点问题 版本 1.0.0-beta.10 无效写法 const {children} = this.props
return <View>{this.props.children}</View> 有效写法 return <View>{this.props.children}</View> |
@luckyadam 忘了是从哪个版本出现的这个问题了,前面beta几版还都是正常的。 |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
主要更新有小程序组件化重构,在这一版中,采用小程序原生的自定义组件来实现组件化,相较之前的基于
template
的组件化有了非常大的进步。主要更新功能:
this.props.children
;zan-ui
render
方法之外使用 JSX 元素升级需要注意:
on
开头render
方法里打印this.props
将会是一个空对象undefined
,在setState的时候也请避免这么用。你可以使用null
来替代id
作为prop或state,例如this.props.id
在小程序中会丢失如何升级到beta版本:
原有的update命令无法升级到beta版,需要手动升级。
试用中遇到问题可以在这里回复~
The text was updated successfully, but these errors were encountered: