如何从值设置'ref'?

时间:2016-03-16 12:16:04

标签: javascript reactjs react-native mobile-development

我正在尝试从值设置TextInput'ref'。 例如:

var testtest = 'testvalue'
<TextInput
ref=testtest
autoCapitalize="none"
autoCorrect={false}
autoFocus={false}
placeholderTextColor="#b8b8b8"
color="#b8b8b8"
multiline={true}
onFocus={(() => this.onFieldFocus(testtest))}
style={styles.textInput}
/>

但它不起作用。

2 个答案:

答案 0 :(得分:1)

来自变量的每个参数都必须在括号内。

因此,您应该ref={testtest}

然后,您可以通过this.refs[testtest]

访问它

但是我很好奇有什么用例需要动态参考。

答案 1 :(得分:1)

我相信你想要这样的东西:

const testtest = 'testvalue'

class TestComponent extends React.Component {
  constructor(props, ctx) {
    super(props, ctx);

    this.onFieldFocus = this.onFieldFocus.bind(this);
  }

  onFieldFocus() {
    const textInput = this.refs[testtest];
  }

  render() {
    return <TextInput ref={testtest} onFocus={this.onFieldFocus} />;
  }
}