如何使用 react-native-gifted-chat 使短信可点击
How to make text message clickable with react-native-gifted-chat
我正在用 react-native-gifted-chat
开发一个移动聊天应用程序,我想让系统消息可点击以执行功能。
我的代码在下面,但不知何故不起作用。
import React, { Component } from 'react';
import { Image, ImageBackground, Text, Linking, SafeAreaView, ScrollView, StyleSheet, View } from 'react-native';
import { Body, Container, Header, Icon, Left, Right, Thumbnail } from "native-base";
import { Button, List } from 'react-native-paper';
import { GiftedChat, Composer } from 'react-native-gifted-chat';
export default class ChatScreen extends Component {
messages = [
{
_id: 1,
text: <Text onClick={() => { alert('hello')}} style={{ color: 'red' }}>This message can not be clickable</Text>,
createdAt: new Date(Date.UTC(2016, 5, 11, 17, 20, 0)),
system: true,
}
];
renderComposer = props => {
return (
<View style={{flexDirection: 'row'}}>
<Icon type='SimpleLineIcons' name='paper-clip' style={{ fontSize: 20, justifyContent: 'center', paddingTop: 10, paddingLeft: 5 }}/>
<Composer {...props} />
<Button>Submit</Button>
</View>
);
};
render() {
return (
<Container>
<GiftedChat
renderComposer={this.renderComposer}
messages={this.messages}
/>
</Container>
)
}
}
});
这是我的模拟器的截图。
https://gyazo.com/bc1facffffcbe868fbce5cb15385890d
我希望系统消息 'This message cannot be clickable' 应该是可点击的,并且在点击它时会显示警告消息 'hello'。
但是没用。
你会尝试在文本组件中使用 onPress 而不是 onClick 吗?
你也可以在下面参考这个。
文本有一个onPress props 没有onClick,所以你只需要将onClick 更改为onPress。如果您要更改此设置,那么您的消息 将如下所示
messages = [
{
_id: 1,
text: <Text onPress={() => { alert('hello')}} style={{ color: 'red' }}>This message can not be clickable</Text>,
createdAt: new Date(Date.UTC(2016, 5, 11, 17, 20, 0)),
system: true,
}
];
这绝对适合你!
我正在用 react-native-gifted-chat
开发一个移动聊天应用程序,我想让系统消息可点击以执行功能。
我的代码在下面,但不知何故不起作用。
import React, { Component } from 'react';
import { Image, ImageBackground, Text, Linking, SafeAreaView, ScrollView, StyleSheet, View } from 'react-native';
import { Body, Container, Header, Icon, Left, Right, Thumbnail } from "native-base";
import { Button, List } from 'react-native-paper';
import { GiftedChat, Composer } from 'react-native-gifted-chat';
export default class ChatScreen extends Component {
messages = [
{
_id: 1,
text: <Text onClick={() => { alert('hello')}} style={{ color: 'red' }}>This message can not be clickable</Text>,
createdAt: new Date(Date.UTC(2016, 5, 11, 17, 20, 0)),
system: true,
}
];
renderComposer = props => {
return (
<View style={{flexDirection: 'row'}}>
<Icon type='SimpleLineIcons' name='paper-clip' style={{ fontSize: 20, justifyContent: 'center', paddingTop: 10, paddingLeft: 5 }}/>
<Composer {...props} />
<Button>Submit</Button>
</View>
);
};
render() {
return (
<Container>
<GiftedChat
renderComposer={this.renderComposer}
messages={this.messages}
/>
</Container>
)
}
}
});
这是我的模拟器的截图。 https://gyazo.com/bc1facffffcbe868fbce5cb15385890d
我希望系统消息 'This message cannot be clickable' 应该是可点击的,并且在点击它时会显示警告消息 'hello'。 但是没用。
你会尝试在文本组件中使用 onPress 而不是 onClick 吗?
你也可以在下面参考这个。
文本有一个onPress props 没有onClick,所以你只需要将onClick 更改为onPress。如果您要更改此设置,那么您的消息 将如下所示
messages = [
{
_id: 1,
text: <Text onPress={() => { alert('hello')}} style={{ color: 'red' }}>This message can not be clickable</Text>,
createdAt: new Date(Date.UTC(2016, 5, 11, 17, 20, 0)),
system: true,
}
];
这绝对适合你!