1.調用組件
組件文件
import Taro, { Component } from '@tarojs/taro' import { View } from '@tarojs/components' export default class Dialog extends Component { render () { return ( <View className='index'> 我是彈窗組件 </View> ) } }
調用
import Taro, { Component } from '@tarojs/taro' import { View } from '@tarojs/components' import Dialog from './dialog' export default class TestDialog extends Component { render () { return ( <View className='index'> <View>TestDialog</View> <Dialog></Dialog> </View> ) } }
2.向組件傳值
組件
import Taro, { Component } from '@tarojs/taro' import { View, Text, Button } from '@tarojs/components' export default class Dialog extends Component { render () { return ( <View className='index'> 我是彈窗組件 { this.props.children } </View> ) } }
調用
import Taro, { Component } from '@tarojs/taro' import { View, Text, Button, Image } from '@tarojs/components' import Dialog from './dialog' export default class TestDialog extends Component { render () { return ( <View className='index'> {/* TestDialog */} <Dialog> <Text>我是test傳入的</Text> </Dialog> <Dialog> <Image src={require('../../lib/img/二哈.jpg')}/> </Dialog> <Dialog> <Button>按鈕</Button> </Dialog> </View> ) } }
注意:在組件中的 this.props.children 是只讀的,不能進行更改
3.向組件傳遞多個值
由於組件接收的值不能更改,那么如果想要在組件接收多個值,就會出現問題,針對這種情況方案如下:
在調用頁面給組件名定義屬性,在組件通過 this.props.myText 來接收值,代碼如下:
組件
import Taro, { Component } from '@tarojs/taro' import { View, Text, Button } from '@tarojs/components' export default class Dialog extends Component { render () { return ( <View className='index'> 我是彈窗組件 { this.props.myText } { this.props.children } </View> ) } }
調用
import Taro, { Component } from '@tarojs/taro' import { View, Text, Button, Image } from '@tarojs/components' import Dialog from './dialog' export default class TestDialog extends Component { render () { return ( <View className='index'> {/* TestDialog */} <Dialog myText={<Text>我是myText傳入的</Text>}> <Text>我是test傳入的</Text> </Dialog> <Dialog> <Image src={require('../../lib/img/二哈.jpg')}/> </Dialog> <Dialog> <Button>按鈕</Button> </Dialog> </View> ) } }