条件付きレンダリングに問題があります。 は、ここに私の100%の作業ビューです:私は条件付きのボタンを変更しようとするとCycleDOM条件付きレンダリングの問題
function todoItem(todo) {
return li('.list-item',[
todo.editing ? input('.todo-edit', {type: 'text', value: todo.text, autofocus: true, attributes: { 'data-id': todo.id }}) : '',
!todo.editing ? span(`.todo ${todo.completed ? '.completed' : ''}`, { attributes: { 'data-id': todo.id }}, todo.text) : '',
button('.remove-todo', {type: 'button', value: todo.id}, 'remove'),
todo.completed ? button('.unmark-todo', {type: 'button', value: todo.id}, 'unmark') : '',
!todo.completed ? button('.mark-todo', {type: 'button', value: todo.id}, 'mark as done') : ''
]);
const view = (state$) => {
return state$.map(todos =>
div([
input('.todo-input', {type: 'text', placeholder: 'Todo', value: ''}),
ul(todos.items.map(todo => todoItem(todo))),
footer(todos)
])
);
};
問題がある場合、他の代わりに二つの別々の条件:
todo.completed ?
button('.unmark-todo', {type: 'button', value: todo.id}, 'unmark') :
button('.mark-todo', {type: 'button', value: todo.id}, 'mark as done')
トグルしているようですボタンを押して "unmark"にしてから、もう一度 "mark"に戻ってください(コンソールログで確認済みです)。私の意図は、これら二つのクラス.markと.unmarkにマッピングされているので、私はそれが問題だとは思わない...
は、実際のエラーというか、私が何かをしないのですか?あなたは、DOMドライバーでこのバグに遭遇している
作成埋めたりhttp://webpackbin.com – WHITECOLOR
それはおそらく、このバグです:https://github.com/cyclejs/core/issues/228 –