我本质上是试图做出反应,但有一些问题.
这是文件 page.jsx
<RadioGroup>
<Button title="A" />
<Button title="B" />
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)
当你点击按钮A,在RadioGroup中组件需要去选择按钮B.
"Selected"只是指来自州或财产的className
这是RadioGroup.jsx:
module.exports = React.createClass({
onChange: function( e ) {
// How to modify children properties here???
},
render: function() {
return (<div onChange={this.onChange}>
{this.props.children}
</div>);
}
});
Run Code Online (Sandbox Code Playgroud)
它的来源Button.jsx并不重要,它有一个常规的HTML单选按钮,可以触发本机DOM onChange事件
预期的流程是:
这是我遇到的主要问题:我无法<Button>进入RadioGroup,因为这种结构使得孩子们是任意的.也就是说,标记可能是
<RadioGroup>
<Button title="A" />
<Button title="B" />
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)
要么
<RadioGroup>
<OtherThing title="A" />
<OtherThing title="B" />
</RadioGroup> …Run Code Online (Sandbox Code Playgroud) 我有一个商品列表中的商品.当我的应用程序第一次加载时,我需要反序列化项目,就像在基于项目创建一些内存中对象一样.这些项目存储在我的redux商店中并由一个itemsReducer.
我试图使用redux-saga来处理反序列化,作为副作用.在第一页加载时,我发送一个动作:
dispatch( deserializeItems() );
Run Code Online (Sandbox Code Playgroud)
我的传奇很简单:
function* deserialize( action ) {
// How to getState here??
yield put({ type: 'DESERISLIZE_COMPLETE' });
}
function* mySaga() {
yield* takeEvery( 'DESERIALIZE', deserialize );
}
Run Code Online (Sandbox Code Playgroud)
在我的deserialize saga中,我想要处理创建内存版本的项目的副作用,我需要从商店中读取现有数据.我不知道该怎么做,或者如果这是一种模式,我甚至应该尝试使用redux-saga.
我在.bashrc中有这个:
LIGHTGREEN="\[\033[1;32m\]"
LIGHTRED="\[\033[1;31m\]"
WHITE="\[\033[0;37m\]"
RESET="\[\033[0;00m\]"
function error_test {
if [[ $? = "0" ]]; then
echo -e "$LIGHTGREEN"
else
echo -e "$LIGHTRED"
fi
}
PS1="\u\$(error_test)@\w$RESET \$ "
Run Code Online (Sandbox Code Playgroud)
这似乎使shell输出完全正确:
username\[\]@~/
在我的提示中显示了颜色代码周围的转义[和].如果我从它周围的颜色中删除转义码,但是bash换行会突然失败.
请注意,如果PS1="LIGHTGREEN - whatever - $RESET"它可以工作,[和]不会被转义.但是,我想在一个函数中执行此操作,这似乎是个问题.
我找不到任何关于此的好文档.man echo甚至没有列出-e选项.Bash似乎有很多无证的手工知识.
当合并冲突处理是很常见的>>>>>>,并======插入由DCVS在语法上不正确的,我在和显示为红色高亮显示的文件.处理合并冲突时,让命令跳转到这些错误会很有用.当我输入时,:cnext我只收到消息"No Errors".这些是Mercurial合并冲突所以我不能使用Fugitive,但我通常更喜欢手工编辑合并冲突.
有没有办法跳转到文件中的下一个语法错误?我认为这些错误是由语法高亮文件决定的.
我正在Postgres中选择一些对象及其标签.架构非常简单,有三个表:
对象 id
引用的Tagging id | object_id | tag_id
标签 id | tag
我正在加入这样的表,array_agg用于将标签聚合到一个字段中:
SELECT objects.*,
array_agg(tags.tag) AS tags,
FROM objects
LEFT JOIN taggings ON objects.id = taggings.object_id
LEFT JOIN tags ON tags.id = taggings.tag_id
Run Code Online (Sandbox Code Playgroud)
但是,如果对象没有标签,Postgres会返回:
[ null ]
Run Code Online (Sandbox Code Playgroud)
而不是一个空数组.如果没有标签,如何返回空数组?我已经仔细检查过我没有返回null标签.
所述骨料文档说"聚结功能可用于在必要时代替零或空数组空".我试过COALESCE(ARRAY_AGG(tags.tag)) as tags但它仍然返回一个null数组.我试过让第二个参数很多东西(例如COALESCE(ARRAY_AGG(tags.tag), ARRAY()),但它们都会导致语法错误.
git mv file1 file2
git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: file1 -> file2
git stash
git stash pop
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: file2
#
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." …Run Code Online (Sandbox Code Playgroud) 我正在阅读Java Generics常见问题解答,并遇到&hellip各种情况:
public interface Action<E extends Exception> {
void run() throws E ;
}
public final class Executor {
public static <E extends Exception>
void execute(Action<E> action) throws E {
…
action.run();
…
}
}
public final class Test {
private static class TestAction implements Action<java.io.FileNotFoundException> {
public void run() throws java.io.FileNotFoundException {
…
throw new java.io.FileNotFoundException() ;
…
}
public static void main(String[] args) {
try {
Executor.execute(new TestAction()) ;
} catch (java.io.FileNotFoundException f) { …Run Code Online (Sandbox Code Playgroud) 对我们来说,一个常见的开发工作流程是checkout分支b,向它提交一堆,然后将所有这些提交压缩成一个(仍在b).
但是,在rebase -i压缩所有提交的过程中,经常会出现多个步骤的冲突.
我本质上希望将分支更改为一个提交,该提交表示最终提交时存储库的状态 b
我做了一些搜索,但我还没找到我正在寻找的东西.我不想,merge --squash因为我们想在合并之前测试压扁的功能分支.
有没有办法在git中知道你是否在子模块中?您可以git submodule foreach在父目录中进行思考,但是如果您在子模块中的任何子目录中,或者在子模块内的任何子目录中,我似乎无法想出一个通用的方法来显示您在子模块中.
我想你可以找到repo root git rev-parse --show-toplevel,然后cd一个级别,然后再次查找该repo的根,然后将子模块列表与当前目录进行比较,但这看起来很粘...
在Rails中,我可以对模型的Likes数量执行简单的ORM查询:
@records = Model
.select( 'model.*' )
.select( 'count(likes.*) as likes_count' )
.joins( 'LEFT JOIN likes ON model.id = likes.model_id' )
.group( 'model.id' )
Run Code Online (Sandbox Code Playgroud)
这会生成查询:
SELECT models.*, count(likes.*) as likes_count
FROM "models" JOIN likes ON models.id = likes.model_id
GROUP BY models.id
Run Code Online (Sandbox Code Playgroud)
在Node Sequelize中,任何尝试类似操作的尝试都会失败:
return Model.findAll({
group: [ '"Model".id' ],
attributes: ['id', [Sequelize.fn('count', Sequelize.col('"Likes".id')), 'likes_count']],
include: [{ attributes: [], model: Like }],
});
Run Code Online (Sandbox Code Playgroud)
这会生成查询:
SELECT
Model.id,
count(Likes.id) AS likes_count,
Likes.id AS Likes.id # Bad!
FROM Models AS Model
LEFT OUTER JOIN …Run Code Online (Sandbox Code Playgroud) git ×3
bash ×2
postgresql ×2
reactjs ×2
colors ×1
echo ×1
function ×1
git-stash ×1
java ×1
javascript ×1
left-join ×1
node.js ×1
rebase ×1
redux ×1
redux-saga ×1
sequelize.js ×1
squash ×1
syntax ×1
vim ×1