2016-11-11 5 views
0

ref를 사용할 수있는 옵션을 사용자 지정 구성 요소에 제공하려하지만이를 수행하는 가장 좋은 방법은 무엇이 될지 잘 모르겠습니다. 내 구성 요소 내부React/React-Native Refs [고정]

<View style={ styles.wrapItems }> 
    <TouchableOpacity onPress={() => this.emailInput.onError() }> 
    <Text>Show Error</Text></TouchableOpacity> 
    <InputField ref={(ref) => this.emailInput = ref } alignItems={'center'} placeholder="Your Email" /> 
    <InputField ref={(ref) => this.passwordInput = ref } secureTextEntry={true} placeholder="Your Password" /> 
</View> 

export default class InputField extends Component { 
    constructor(props) { 
    super(props); 
    } 
    -static- onError() { 
    alert('On Error'); 
    } 
return (
<View style={ styles.inputWr }> 
    <TextInput 
    style={ [styles.input, textDir, textColor] } 
    onChangeText={this.onChangeText} 
    keyboardType={keyboardType} 
    underlineColorAndroid={'rgba(0,0,0,0)'} 
    onFocus={this.onFloatLabel} 
    secureTextEntry={secureTextEntry} 
    value={this.state.text} 
    onBlur={this.onFloatLabel} /> 
는 ** 나는 정적 기능을 제거하고 일했다.

+0

실제로 무엇을하려고합니까? 입력 필드 값에 액세스 하시겠습니까? – azium

+0

@azium 외부에서 호출하고 싶은 내 구성 요소 내부에 정적 함수가 있지만이 구성 요소를 참조해야합니다. –

+0

일반적으로 refs를 사용하여 React에서 뭔가 잘못하고 있음을 의미합니다. 구성 요소를 호출 할 정적 메서드 및 구성 요소를 사용하여 구성 요소를 게시 할 수 있습니까? 거의 확실하게 더 좋은 방법이 있습니다. – azium

답변

1

당신은 (때로는 콜백 일을 할 소품) 일반적으로 그것은 좋은 방법이 아니다,

<InputField ref={ref => this.emailInput = ref} alignItems={'center'} placeholder="Your Email" /> 

this.emailInput심판 매개 변수를 할당하지만 심판를 사용하여 조심해야합니다.