Javascript 如何在React本机项目代码库中查找呈现组件的位置?

Javascript 如何在React本机项目代码库中查找呈现组件的位置?,javascript,reactjs,react-native,redux,Javascript,Reactjs,React Native,Redux,我正在模拟器中运行一个应用程序,并试图调试某个未正确渲染的组件,问卷调查。该组件的render()方法包含以下内容: render() { if (this.props.questionCount === 0) { return ( <View style={styles.loading}> <ActivityIndicator size="large" /> </View>

我正在模拟器中运行一个应用程序,并试图调试某个未正确渲染的组件,
问卷调查
。该组件的
render()
方法包含以下内容:

  render() {
    if (this.props.questionCount === 0) {
      return (
        <View style={styles.loading}>
          <ActivityIndicator size="large" />
        </View>
      );
    }

根据Thole的建议,我查找了导入
调查问卷
调查问卷的位置,它位于
inventory.container.js
,内容如下:

import { connect } from 'react-redux';

import { trackEvent } from 'app/src/lib/analytics';
import { ADDRESS_FORM, NOTIFICATION_PERMISSIONS } from 'app/src/scenes';
import { fetchProfile } from 'app/src/containers/profile/profile.actions';
import { logOut } from 'app/src/containers/login/login.actions';
import { saveAnswers, setCompleted, setIndex, updateAnswer } from './questionnaire.actions';
import { getQuestionSet, getCurrentQuestion, getCurrentQuestionPrompt } from './questionnaire.selectors';
import Questionnaire from './questionnaire.ui';

const mapStateToProps = (state) => {
  const { user } = state;
  const { questionnaire } = user.onboarding;
  const { categories } = questionnaire;
  const questions = getQuestionSet(state);
  const currentIndex = questionnaire.index;
  const question = getCurrentQuestion(state);
  const currentCategory = question && categories.find(category => category.id === question.categoryId);
  const isLastQuestion = currentIndex === questions.length - 1;

  return {
    questions,
    question,
    categories,
    currentIndex,
    isLastQuestion,
    answers: questionnaire.answers,
    index: questionnaire.index, // 0-based index
    nextScene: questionnaire.hasShortEnrollment ? ADDRESS_FORM : NOTIFICATION_PERMISSIONS,
    isDemo: user.login.isDemo,
    prompt: getCurrentQuestionPrompt(state),
    answer: question && questionnaire.answers[question.id],
    questionCount: questions.length,
    currentCategoryTitle: currentCategory && currentCategory.title,
    loading: questionnaire.loading,
    userId: user.login.user && user.login.user.id,
  };
};

const mapDispatchToProps = dispatch => ({
  saveAnswers: (answers, isFinalSubmit) => {
    dispatch(saveAnswers(answers, isFinalSubmit));
  },
  setCompleted: (userId) => {
    trackEvent(userId, 'Completed Questionnaire');
    dispatch(setCompleted());
  },
  setIndex: (index) => {
    dispatch(setIndex(index));
  },
  updateAnswer: (questionId, answer) => {
    dispatch(updateAnswer(questionId, answer));
  },
  logOut: () => {
    dispatch(logOut());
  },
  fetchProfile: () => {
    dispatch(fetchProfile());
  },
});

export default connect(
  mapStateToProps,
  mapDispatchToProps,
)(Questionnaire);

因此,实际上,通过将
问卷
传递给
connect()
,也可以呈现
问卷,而不仅仅是将其括在三角形括号中,如

问卷
正在从模块导出。您不能检查此模块导入的位置吗?
import { connect } from 'react-redux';

import { trackEvent } from 'app/src/lib/analytics';
import { ADDRESS_FORM, NOTIFICATION_PERMISSIONS } from 'app/src/scenes';
import { fetchProfile } from 'app/src/containers/profile/profile.actions';
import { logOut } from 'app/src/containers/login/login.actions';
import { saveAnswers, setCompleted, setIndex, updateAnswer } from './questionnaire.actions';
import { getQuestionSet, getCurrentQuestion, getCurrentQuestionPrompt } from './questionnaire.selectors';
import Questionnaire from './questionnaire.ui';

const mapStateToProps = (state) => {
  const { user } = state;
  const { questionnaire } = user.onboarding;
  const { categories } = questionnaire;
  const questions = getQuestionSet(state);
  const currentIndex = questionnaire.index;
  const question = getCurrentQuestion(state);
  const currentCategory = question && categories.find(category => category.id === question.categoryId);
  const isLastQuestion = currentIndex === questions.length - 1;

  return {
    questions,
    question,
    categories,
    currentIndex,
    isLastQuestion,
    answers: questionnaire.answers,
    index: questionnaire.index, // 0-based index
    nextScene: questionnaire.hasShortEnrollment ? ADDRESS_FORM : NOTIFICATION_PERMISSIONS,
    isDemo: user.login.isDemo,
    prompt: getCurrentQuestionPrompt(state),
    answer: question && questionnaire.answers[question.id],
    questionCount: questions.length,
    currentCategoryTitle: currentCategory && currentCategory.title,
    loading: questionnaire.loading,
    userId: user.login.user && user.login.user.id,
  };
};

const mapDispatchToProps = dispatch => ({
  saveAnswers: (answers, isFinalSubmit) => {
    dispatch(saveAnswers(answers, isFinalSubmit));
  },
  setCompleted: (userId) => {
    trackEvent(userId, 'Completed Questionnaire');
    dispatch(setCompleted());
  },
  setIndex: (index) => {
    dispatch(setIndex(index));
  },
  updateAnswer: (questionId, answer) => {
    dispatch(updateAnswer(questionId, answer));
  },
  logOut: () => {
    dispatch(logOut());
  },
  fetchProfile: () => {
    dispatch(fetchProfile());
  },
});

export default connect(
  mapStateToProps,
  mapDispatchToProps,
)(Questionnaire);