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);