【发布时间】:2017-07-11 12:40:57
【问题描述】:
我的页面位于 react-native 应用的 ScrollView 中。在第一次加载子组件时,可以说多个 TextInput's 渲染得非常好。
每个 TextInput 都有一个唯一的键。 当我开始更新任何 TextInput 字段时,其他组件就会崩溃。折叠是指组件存在但不会显示任何数据。 onPress 事件适用于折叠的组件,但文本不显示。
我发现的一种方法是在每次渲染时添加一个唯一的随机 key,但随后 TextInput 的焦点会丢失,这不是良好的用户体验。
代码:
class App extends React.Component {
constructor(props) {
super(props);
this.state= this.props;
}
buildList(data) {
_.map(data, blog => {
return(
<View key={blog.id}>
<Text>{blog.title}</Text>
<TextInput
placeholder={blog.label}
onChangeText={text => onChangeText(text)}
value={value}
/>
</View>
);
}
}
render() {
const {
data
} = this.state;
return (
<View style={mainStyles.pageWrap}>
<ScrollView style={mainStyles.contentWrap}>
<View>
{
this.buildList(
data
)
}
</View>
</ScrollView>
</View>
);
}
}
【问题讨论】:
-
onChangeText 是如何定义的?
-
@AlexanderGuschin,很抱歉没有发布答案,我发现我必须将
style={{ flex:1 }}添加到所有子组件中。
标签: reactjs react-native flux react-native-ios