Authored by QC-L

消除项目中的异常问题

... ... @@ -187,6 +187,9 @@ export default class Home extends Component {
this.props.onEndReached && this.props.onEndReached();
}
}}
keyExtractor={(item, index) => {
return index
}}
/>
</View>
);
... ... @@ -223,8 +226,7 @@ let styles = StyleSheet.create({
backgroundColor: '#e0e0e0'
},
contentContainer: {
flexDirection: 'row',
flexWrap: 'wrap',
flexDirection: 'column',
backgroundColor: 'white'
},
listContainer: {
... ...
... ... @@ -17,6 +17,7 @@ export default class EditorTalk extends Component {
super(props);
this._handleData = this._handleData.bind(this);
this._handleParamsJumpWithUrl = this._handleParamsJumpWithUrl.bind(this);
this._handleTextStyleError = this._handleTextStyleError.bind(this);
}
shouldComponentUpdate(nextProps) {
... ... @@ -53,6 +54,16 @@ export default class EditorTalk extends Component {
this.props.resourceJumpWithUrl && this.props.resourceJumpWithUrl(url, 'talk', params);
}
_handleTextStyleError(item, index) {
let newItem = item;
if (item.text) {
newItem = Object.assign({}, item)
delete newItem['text'];
delete newItem['size'];
}
return <Text key={index} style={newItem}>{item.text}</Text>
}
render() {
let { mainTitlelist, subTitlelist, contextlist, url } = this._handleData();
let image = this.props.image;
... ... @@ -73,24 +84,13 @@ export default class EditorTalk extends Component {
source={image}
style={styles.backgroundImage}
/>
<Text style={styles.bannerMainTitle}>{mainTitlelist.map(item => {
return <Text style={item}>{item.text}</Text>
})}</Text>
<Text style={styles.bannerMainTitle}>{mainTitlelist.map(this._handleTextStyleError)}</Text>
<Text style={styles.bannerSubTitle}>
{subTitlelist.map(item => {
let newItem = item;
if (item.text) {
newItem = Object.assign({}, item)
delete newItem['text'];
}
return <Text style={newItem}>{item.text}</Text>
})}
{subTitlelist.map(this._handleTextStyleError)}
</Text>
<Text style={styles.bannerContext}>
{
contextlist.map(item => {
return <Text style={item}>{item.text}</Text>
})
contextlist.map(this._handleTextStyleError)
}
</Text>
</TouchableOpacity>
... ...
... ... @@ -45,11 +45,12 @@ class TipsAlert extends React.Component {
_renderChildren(children) {
return children.map((element, index) => {
if (index === children.length) return element
return (
<React.Fragment>
<React.Fragment key={index}>
{element}
<View style={{width: 0.5, height: '100%', backgroundColor: '#e0e0e0'}}></View>
if (index !== children.length) {
<View style={{ width: 0.5, height: '100%', backgroundColor: '#e0e0e0' }}></View>
}
</React.Fragment>
)
});
... ...