编辑:解决方案是将一个不同的变量连接到mapStateToProps。
我的react-redux应用程序遇到了一些麻烦,我不确定我做错了什么。
源代码可以是found here。
Alphabetical
动作和缩减器似乎正常工作,但与Duplicate
逻辑不同,词汇表按钮切换时不会重新渲染。我猜这是因为我没有正确地将它连接到商店/发货。
我创建了Duplicate
reducer,action,containers,components,一旦我完成了这些工作,我就将代码复制到了Alphabetical
文件中。除了变量名之外,代码应该是相同的,但是当我在createStore中单独运行每个reducer时,duplicates
工作正常且alphabetical
不正常。
您可以通过在createStore函数中使用Alphabetical
来查看toggleDuplicates
按钮的行为方式(我还在弄清楚为什么组合减速器不起作用 - 可能这与问题有关?)。
的src / entry.jsx
将allReducers更改为toggleDuplicates
或toggleAlphabetical
let store = createStore(
allReducers,
initialState,
compose(
applyMiddleware(createLogger())
)
);
要运行,请进入目录,然后运行npm install
,npm run server
预期的行为是Duplicate
和Alphabetize
按钮将在切换时使用正确的值更新GlossaryTable。 GlossaryTable
状态更新后visibleWords
应该被重新呈现(在被toggleDuplicates / toggleAlphabetical redurs返回后。
的src /容器/ GlossaryContainer.js
这是我认为我可能没有正确地将状态连接到调度的地方。
const mapStateToProps = (state) => ({
visibleWords: getVisibleEntries(
state.words,
state.visibleWords,
state.toggleDuplicates,
state.toggleAlphabetical
)
});
const VisibleGlossary = connect(
mapStateToProps
)(GlossaryTable);
export default VisibleGlossary;
答案 0 :(得分:1)
您正在创建一个名为 import java.util.*;
import javax.swing.*;
public class do_whilePassword
{
public static void main ( String [] args )
{
String choice = "";
do
{
choice = JOptionPane.showInputDialog("Please enter in a password");
}while(choice != "John" );
}
}
的缩减器,它实际上不是缩减器而是数组。
words
应该只是商店中的数据,而不是减速器本身