Jquery 我应该在什么时候用React.js状态更新UI,而不是仅仅使用CSS?
我正在从中重新创建一个输入示例。在输入框内单击时,用作占位符的标签将向上移动并用作标签。这个动作是在CSS中完成的。表单的数据没有更新,但UI正在更改,这是否算作状态更改?CSS中的更改应该保持为CSS,还是应该由React组件中的某些内容触发 有一个例子,不带out React at JS:Jquery 我应该在什么时候用React.js状态更新UI,而不是仅仅使用CSS?,jquery,css,user-interface,state,reactjs,Jquery,Css,User Interface,State,Reactjs,我正在从中重新创建一个输入示例。在输入框内单击时,用作占位符的标签将向上移动并用作标签。这个动作是在CSS中完成的。表单的数据没有更新,但UI正在更改,这是否算作状态更改?CSS中的更改应该保持为CSS,还是应该由React组件中的某些内容触发 有一个例子,不带out React at JS: function generate_adaptive_text_input(initial, focused){ var adaptive_placeholder_input_container
function generate_adaptive_text_input(initial, focused){
var adaptive_placeholder_input_container = $("<div />", {
class: 'adaptive_placeholder_input_container'
});
var adaptive_placeholder_input = $("<input />",{
type: 'text',
required: '',
class: 'adaptive_text_input'
});
var adaptive_placeholder_label = $("<label />",{
alt: initial,
placeholder: focused,
class: 'adaptive_placeholder'
});
adaptive_placeholder_input_container.append(adaptive_placeholder_input);
adaptive_placeholder_input_container.append(adaptive_placeholder_label);
return adaptive_placeholder_input_container;
}
function generate_form(){
var form = $('<form />');
var first_example = generate_adaptive_text_input('Placeholder', 'Active Placeholder');
var second_example = generate_adaptive_text_input('Off', 'On');
$(form).append(first_example);
$(form).append(second_example);
return form;
}
function generate_page(){
var form = generate_form();
$('body').append(form);
}
.adaptive_placeholder_input_container {
position: relative;
}
.adaptive_text_input {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 200px;
height: 40px;
border: 3px solid #aaaaaa;
border-radius: 10px;
margin: 0 0 1em;
padding: 1em;
background: #fff;
resize: none;
outline: none;
}
.adaptive_text_input:focus {
border-color: #00bafa;
}
.adaptive_text_input:focus + .adaptive_placeholder:before {
color: #00bafa;
}
.adaptive_text_input:focus + .adaptive_placeholder:before, .adaptive_text_input:valid + .adaptive_placeholder:before {
-webkit-transition-duration: .2s;
-webkit-transform: translate(0, -16px) scale(0.9, 0.9);
}
.adaptive_text_input:invalid + .adaptive_placeholder:before {
content: attr(alt);
}
.adaptive_text_input + .adaptive_placeholder {
pointer-events: none;
line-height: 1em;
position: absolute;
left: 10px;
top: 10px;
}
.adaptive_text_input + .adaptive_placeholder:before {
font-family: Verdana, Geneva, sans-serif;
content: attr(placeholder);
display: inline-block;
padding: 0 2px;
color: #898989;
-webkit-transition: 0.3s ease-in-out;
background-color: #ffffff;
}
我通常从另一个方向思考国家;与其说“此UI更新是否算作状态更改”,不如说“此UI更新是否需要状态更改才能正常工作”。如果:
render
函数中的一些数据来有条件地应用某个类如果这两个问题的答案都是“否”,我认为完全用CSS保持UI更改是完全正确的;与其说“此UI更新是否算作状态更改”,不如说“此UI更新是否需要状态更改才能正常工作”。如果:
render
函数中的一些数据来有条件地应用某个类如果这两个问题的答案都是“否”,我认为完全用CSS保持UI更改是完全正确的;与其说“此UI更新是否算作状态更改”,不如说“此UI更新是否需要状态更改才能正常工作”。如果:
render
函数中的一些数据来有条件地应用某个类如果这两个问题的答案都是“否”,我认为完全用CSS保持UI更改是完全正确的;与其说“此UI更新是否算作状态更改”,不如说“此UI更新是否需要状态更改才能正常工作”。如果:
render
函数中的一些数据来有条件地应用某个类如果这两个问题的答案都是“不”,我认为完全用CSS来保持UI的变化是完全正确的。我同意布兰登的说法 考虑这个例子: 在某些时候,您可能希望某些操作(快捷键)根据所关注的内容产生不同的结果。然后聚焦对象成为您状态的一部分
如果这种情况永远不会发生,那么您可以使用纯CSS解决方案。我同意布兰登的说法 考虑这个例子: 在某些时候,您可能希望某些操作(快捷键)根据所关注的内容产生不同的结果。然后聚焦对象成为您状态的一部分
如果这种情况永远不会发生,那么您可以使用纯CSS解决方案。我同意布兰登的说法 考虑这个例子: 在某些时候,您可能希望某些操作(快捷键)根据所关注的内容产生不同的结果。然后聚焦对象成为您状态的一部分
如果这种情况永远不会发生,那么您可以使用纯CSS解决方案。我同意布兰登的说法 考虑这个例子: 在某些时候,您可能希望某些操作(快捷键)根据所关注的内容产生不同的结果。然后聚焦对象成为您状态的一部分
如果这种情况从未发生,您可以使用纯CSS解决方案。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。@AndrewMedico。我的回答涉及两个案例。一个是UI应该用react更新,另一个是CSS就足够了。这说明这个问题没有正确的答案。布兰登的回答是对这一点的一般性评论,而我的回答有一个具体的例子。如果不清楚,我可以详细说明。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。@AndrewMedico。我的回答涉及两个案例。一个是UI应该用react更新,另一个是CSS就足够了。这说明这个问题没有正确的答案。布兰登的回答是对这一点的一般性评论,而我的回答有一个具体的例子。如果不清楚,我可以详细说明。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。@AndrewMedico。我的回答涉及两个案例。一个是UI应该用react更新,另一个是CSS就足够了。这说明这个问题没有正确的答案。布兰登的回答是对这一点的一般性评论,而我的回答有一个具体的例子。如果不清楚,我可以详细说明。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。@AndrewMedico。我的回答涉及两个案例。一个是UI应该用react更新,另一个是CSS就足够了。这说明这个问题没有正确的答案。麸皮