Javascript 递归渲染组件时,React redux未拾取状态
我面临一个问题,组件Javascript 递归渲染组件时,React redux未拾取状态,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我面临一个问题,组件问题未正确接收来自react redux存储的数据。当组件最初呈现时,它从存储区接收到所需的数据,没有问题。当问题变成子问题时,问题就会出现——在这种情况下,存储区中的数据不会被检索,而是未定义,尽管它是相同的代码。下面可以看到子问题代码,它在同一个问题组件中呈现一个新的问题组件。此递归呈现的组件未接收到正确的状态 初始呈现代码片段如下所示,放置在问题的外部组件中: <div style={{ paddingRight: '8px' }}> {data.Que
问题未正确接收来自react redux存储的数据。当组件最初呈现时,它从存储区接收到所需的数据,没有问题。当问题变成子问题时,问题就会出现——在这种情况下,存储区中的数据不会被检索,而是未定义,尽管它是相同的代码。下面可以看到子问题代码,它在同一个问题
组件中呈现一个新的问题
组件。此递归呈现的组件未接收到正确的状态
初始呈现代码片段如下所示,放置在问题
的外部组件中:
<div style={{ paddingRight: '8px' }}>
{data.Question.map(question => (
<Question question={question} key={question.ID} />
))}
</div>
问题
本身无法访问存储。通过使用connect
创建一个新组件,该组件可以访问存储。您确实在文件末尾使用了connect,并且导出了连接的组件,因此就代码库的其余部分而言,一切都很好。但是在这个特定的文件中,对
的任何引用都是指未连接的组件
或许可以这样做:
class Question extends React.Component {
// ... later, in render
question.SubQuestion.map(subQuestion => (
<ConnectedQuestion question={subQuestion} key={subQuestion.ID} subQuestion={true}/>
))
}
const ConnectedQuestion = connect(
mapStateToProps,
mapDispatchToProps
)(Question);
export default ConnectedQuestion;
类问题扩展了React.Component{
//…稍后,在渲染中
问题.子问题.映射(子问题=>(
))
}
const ConnectedQuestion=connect(
MapStateTops,
mapDispatchToProps
)(问题);
导出默认连接问题;
如果您可以添加一个带有Subquestions对象的示例问题,我认为这会有所帮助
class Question extends React.Component {
// ... later, in render
question.SubQuestion.map(subQuestion => (
<ConnectedQuestion question={subQuestion} key={subQuestion.ID} subQuestion={true}/>
))
}
const ConnectedQuestion = connect(
mapStateToProps,
mapDispatchToProps
)(Question);
export default ConnectedQuestion;