Можно ли добавить nativeID
prop в вид, подобный следующему: <View nativeID="viewId">...</View>
И затем используйте этот идентификатор, чтобы найти представление в моем родном коде Android и iOS, чтобы я мог применить некоторые собственный метод на нем. Если это будет, то пример будет оценен.
Могу ли я использовать собственный идентификатор prop, чтобы найти вид в собственном коде
Ответ 1
Вы можете использовать это после добавления nativeId в представление:
ReactFindViewUtil.addViewListener(onViewFoundListener);
private ReactFindViewUtil.OnViewFoundListener createOnViewFoundListener() {
return new ReactFindViewUtil.OnViewFoundListener() {
@Override
public String getNativeId() {
return "NativeID";
}
@Override
public void onViewFound(final View view) {
// some code
}
};
}
Ответ 2
Да, это возможно. Предположим, у вас есть представление в JS,
<CustomView> <View nativeID={'childView'}> <CustomView>
На вашем родном модуле Android вызовите ReactFindViewUtil.findView()
с контейнером представления и собственным идентификатором
ReactFindViewUtil.findView(CustomView, "childView")
ReactFindViewUtil.findView()
находится в com.facebook.react.uimanager.util
Я полагаю, что аналогичная утилита есть и на iOS. Я не исследовал это.