我有一个场景,我有2个减速器是a的结果combineReducers.我想将它们组合在一起,但在嵌套时将它们的键保持在同一级别.
例如,给出以下减速器
const reducerA = combineReducers({ reducerA1, reducerA2 })
const reducerB = combineReducers{{ reducerB1, reducerB2 })
Run Code Online (Sandbox Code Playgroud)
我想最终得到一个像这样的结构:
{
reducerA1: ...,
reducerA2: ...,
reducerB1: ...,
reducerB2: ...
}
Run Code Online (Sandbox Code Playgroud)
如果我combineReducers再次使用reducerA并且reducerB喜欢这样:
const reducer = combineReducers({ reducerA, reducersB })
Run Code Online (Sandbox Code Playgroud)
我最终得到了一个结构:
{
reducerA: {
reducerA1: ...,
reducerA2: ...
},
reducerB: {
reducerB1: ...,
reducerB2: ...
}
}
Run Code Online (Sandbox Code Playgroud)
我不能结合reducerA1,reducerA2,reducerB1和reducerB2在一个单一的combineReducers呼叫为reducerA和reducerB被提供给我已经从不同的NPM包相结合.
我已经尝试使用reduce-reducers库将它们组合在一起并将状态缩小在一起,这是我从查看redux文档得到的一个想法,如下所示: …
可能重复:
如何在JTable中创建一个不可见的Swing Java
列如何隐藏DefaultTableModel中的一个特殊列,使其不在表中显示?
我试图在JTable中输入数据到三列,但我想只显示两列.实际上,我想隐藏第三列,而不是通过将宽度设置为0,而是通过任何其他方法可以在click事件中从隐藏列获取数据.
如何以这种方式隐藏列?
我使用以下代码:
try {
String Title[]= new String{"a","b","c"};
Object obj= new Object[50][3];
JTable table= new JTable(obj,title);
JScrollPane jsp= new JScrollPane(table);
add(jsp);
} catch(Exception ex) {
ex.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) 我知道这里已经有人问过这个问题:How to set initial state for useState Hook in jest andase?
const [state, setState] = useState([]);
Run Code Online (Sandbox Code Playgroud)
我完全同意Jimmy's Answer从测试文件中模拟 useState 函数,但我有这个问题的一些扩展版本,“如果我有多个 useState 语句进入钩子,我如何测试它们并为它们分配相应的自定义值?”
我有一些带有钩子状态值条件的 JSX 渲染,并且取决于JSX正在渲染的该状态的值。
如何通过将这些 JSX 放入wrapper我的测试用例代码中来测试它们?
经典问题 - 我想在提交之前验证表单.
我的提交按钮触发一个动作(简单的调度或thunk).如果表单有效,请提交 - 否则,触发错误消息.
简单的解决方案:调度一个动作,例如VALIDATE_AND_SUBMIT,它在reducer中将验证表单,并提交或设置错误状态.
我觉得这些是两种不同的行为:有效
{
type: "VALIDATE",
formData
}
Run Code Online (Sandbox Code Playgroud)
这应验证并设置错误.
{
type: "SUBMIT",
// get form data and errors from state
}
Run Code Online (Sandbox Code Playgroud)
提交 - 如果没有错误状态,则应提交.
即使我使用redux-thunk,我也无法从第一个VALIDATE操作获得反馈.我的思维过程是反模式吗?如何在提交表单之前进行验证?
我正在尝试使用React,React-router和Redux创建一个Electron应用程序。我发现,当我将交换机/路由逻辑嵌套在一个纯粹的表示性组件(Page)下时,我的路由逻辑绝对可以正常工作,但是如果嵌套在“智能”容器组件。
在我的React组件层次结构的顶部附近(在下面HashRouter),我有一个Page:
export default function Page (props) {
return (
<div className={`${styles.page}`}>
<SideBar/>
<DetailPane>{props.children}</DetailPane>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
在这两个容器组件中,DetailPane和SideBar是包装在同名表示组件周围的。
在启动时(以及在热重载期间),我使用以下函数创建我的React层次结构:
export default () => (
<Router>
<Page>
<Switch>
<Route exact path='/txDefinitions/:definitionName/:fieldName' component={FieldPage}/>
<Route exact path='/txDefinitions/:definitionName?' component={DefinitionPage}/>
<Route exact path='/rxDefinitions/:definitionName?' component={DefinitionPage}/>
<Route exact path='/'/>
<Route component={Route404}/>
</Switch>
</Page>
</Router>
Run Code Online (Sandbox Code Playgroud)
这意味着它<Switch>...</Switch>嵌套在下面<DetailPane>。
如果我尝试浏览我的应用程序(单击侧栏中的链接),则在强制重新加载Electron应用程序之前,实际上不会看到详细信息窗格呈现新组件。
不过,我觉得如果我忽略按预期的路由作品DetailPane来自Page:
export default function Page (props) {
return (
<div className={`${styles.page}`}>
<SideBar/>
{props.children} …Run Code Online (Sandbox Code Playgroud) 我正试图解决这个问题:
编写一个从用户读取文件名的Java程序.该文件最多包含20个整数.声明一个大小为20的数组.读取文件中的所有值并将它们存储在数组中.请注意,文件中可以包含任意数量的整数.最后,计算并显示存储在数组中的所有整数的总和.使用异常处理来检测:
- 来自文件的不正确输入,其中读取非整数
- 使用无效数组索引
- 文件不存在的文件名无效
我目前的问题是错误的总和.这是我的代码
package labtask.pkg10;
import java.io.File;
import java.io.*;
import java.util.*;
import java.util.ArrayList;
public class task2 {
public static void main(String[] args) {
int integers[] = new int[20];
Scanner read = new Scanner(System.in);
int sum = 0;
int num = 0;
String filename;
System.out.println("enter the file name ");
filename = read.next();
try {
File file = new File(filename);
Scanner inputFile = null;
inputFile = new Scanner(file);
int i = 0;
while (inputFile.hasNext()) {
num = Integer.parseInt(inputFile.next());
integers[i] …Run Code Online (Sandbox Code Playgroud) javascript ×3
redux ×3
java ×2
react-redux ×2
reactjs ×2
enzyme ×1
jscrollpane ×1
jtable ×1
react-hooks ×1
react-router ×1
redux-thunk ×1
swing ×1