Передача своих собственных Text
детьми в Button
решит ваши проблемы.Но в React-native вы не можете назвать Text
детьми в Button
.Потому что «Заголовок реквизита Button
должен быть строкой».
Поэтому вместо использования Button
вы можете использовать TouchableOpacity
.
<TouchableOpacity onPress={() => {console.log('button press')}}>
<Text style={{textAlign:'right'}}>Hello World</Text>
</TouchableOpacity>
Или вы можете создатьКомпонент кнопки.как это.
import React from 'react';
import { Text, TouchableOpacity } from 'react-native';
const Button = ({ onPress, children }) => {
const { buttonStyle, textStyle } = styles;
return (
<TouchableOpacity onPress={onPress} style={buttonStyle}>
<Text style={textStyle}>
{children}
</Text>
</TouchableOpacity>
);
};
export default Button;
const styles = {
textStyle: {
textAlign: 'right',
color: '#336633',
fontSize: 16,
fontWeight: '600',
paddingTop: 10,
paddingBottom: 10
},
buttonStyle: {
backgroundColor: '#fff',
borderWidth: 1,
borderColor: '#336633',
paddingTop: 4,
paddingBottom: 4,
paddingRight: 25,
paddingLeft: 25,
marginTop: 10,
marginLeft: 15,
marginRight:15,
width: 380
}
};